
:root {
  color-scheme: light dark;
  --background: #f6f4f1;
  --surface: #ffffff;
  --surface-raised: #eeebe7;
  --surface-translucent: rgba(255, 255, 255, .94);
  --border: #d9d4ce;
  --text: #1c1a1d;
  --muted: #625e65;
  --accent: #d60000;
  --accent-hover: #b50000;
  --accent-text: #ae0018;
  --accent-glow: rgba(214, 0, 0, .11);
  --focus: #d60000;
  --danger-surface: #fff0f1;
  --state-active-surface: #e3f3e8;
  --state-active-text: #1b6a37;
  --state-paused-surface: #fdf0d6;
  --state-paused-text: #865600;
  --danger-border: #e1a3a8;
  --danger-text: #86151f;
  --disabled-surface: #f2e4e6;
  --disabled-border: #dbc3c7;
  --disabled-text: #824a53;
  --disabled-badge: rgba(130, 74, 83, .1);
  --shadow: 0 18px 54px rgba(39, 28, 24, .08);
  --radius: 16px;
  color: var(--text);
  background: var(--background);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #080809;
    --surface: #111113;
    --surface-raised: #1a1a1d;
    --surface-translucent: rgba(17, 17, 19, .94);
    --border: #2d2d31;
    --text: #f7f7f8;
    --muted: #aaa7ae;
    --accent: #d60000;
    --accent-hover: #b90000;
    --accent-text: #ff707b;
    --accent-glow: rgba(214, 0, 0, .18);
    --focus: #ff616d;
    --danger-surface: #2b1216;
    --state-active-surface: rgba(52, 168, 95, .18);
    --state-active-text: #8ad8a6;
    --state-paused-surface: rgba(232, 166, 48, .18);
    --state-paused-text: #f1c46d;
    --danger-border: #6d2b33;
    --danger-text: #ffb8bf;
    --disabled-surface: #35171d;
    --disabled-border: #66303a;
    --disabled-text: #d5a5ac;
    --disabled-badge: rgba(255, 255, 255, .07);
    --shadow: 0 20px 64px rgba(0, 0, 0, .24);
  }
}

* {
  box-sizing: border-box;
}

html {
  background: var(--background);
  color-scheme: light dark;
}

body {
  background: var(--background);
  color: var(--text);
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.brand {
  align-items: center;
  display: inline-flex;
  font-size: 18px;
  font-weight: 780;
  gap: 10px;
  letter-spacing: -.03em;
  min-height: 48px;
  text-decoration: none;
}

/* The label sits under the name so it never overflows the narrow side rail. */
.brand-text {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.instance-label {
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  padding: 2px 8px;
  white-space: nowrap;
}

.brand-mark {
  align-items: center;
  background: var(--accent);
  border-radius: 10px;
  color: #fff;
  display: inline-flex;
  font-size: 17px;
  font-weight: 850;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.accent-line {
  background: var(--accent);
  border-radius: 999px;
  display: block;
  height: 4px;
  width: 40px;
}

.button {
  align-items: center;
  border: 0;
  border-radius: 12px;
  display: inline-flex;
  font-weight: 750;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  text-decoration: none;
}

.button-primary {
  background: var(--accent);
  color: #fff;
}

.button-primary:not(:disabled) {
  cursor: pointer;
}

.button-primary:not(:disabled):hover {
  background: var(--accent-hover);
}

.button-secondary {
  background: var(--surface-raised);
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
}

.button-secondary:hover {
  border-color: var(--accent);
}

.button-quiet {
  background: transparent;
  border: 1px solid transparent;
  color: var(--muted);
  cursor: pointer;
}

.button-quiet:hover {
  color: var(--accent-text);
}

.button-danger-outline {
  background: transparent;
  border: 1px solid var(--danger-border);
  color: var(--danger-text);
  cursor: pointer;
}

.button-danger-outline:hover {
  background: var(--danger-surface);
  border-color: var(--danger-text);
  color: var(--danger-text);
}

.button:disabled {
  background: var(--disabled-surface);
  border: 1px solid var(--disabled-border);
  color: var(--disabled-text);
  cursor: not-allowed;
  opacity: 1;
}

/* Connexion */
.login-layout {
  align-items: center;
  background:
    radial-gradient(circle at 50% 0, var(--accent-glow), transparent 40%),
    var(--background);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 16px;
}

.login-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  max-width: 420px;
  padding: clamp(24px, 7vw, 38px);
  width: 100%;
}

.login-heading {
  margin: 44px 0 30px;
}

.login-heading h1 {
  font-size: clamp(32px, 10vw, 44px);
  letter-spacing: -.045em;
  line-height: 1.05;
  margin: 18px 0 10px;
}

.login-heading p {
  color: var(--muted);
  font-size: 15px;
  margin: 0;
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.login-form label {
  font-size: 13px;
  font-weight: 700;
  margin-top: 6px;
}

.login-form input:not([type="hidden"]) {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  min-height: 52px;
  padding: 0 14px;
  width: 100%;
}

.login-form input:not([type="hidden"]):focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(214, 0, 0, .18);
  outline: 0;
}

.login-form .button {
  margin-top: 14px;
  width: 100%;
}

.alert {
  background: var(--danger-surface);
  border: 1px solid var(--danger-border);
  border-radius: 12px;
  color: var(--danger-text);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 20px;
  padding: 14px 16px;
}

/* Espace de prospection mobile */
.app-shell {
  min-height: 100vh;
}

.side-rail {
  background: var(--surface-translucent);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--border);
  bottom: 0;
  left: 0;
  padding: 6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  position: fixed;
  right: 0;
  z-index: 10;
}

.side-rail > .brand,
.side-rail > .identity,
.side-rail > .logout-form {
  display: none;
}

/* Mobile: the six sections keep full labels in a bar that scrolls sideways when the screen is narrow. */
.primary-nav {
  display: grid;
  grid-auto-columns: minmax(84px, 1fr);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  width: 100%;
}

.primary-nav::-webkit-scrollbar {
  display: none;
}

.nav-item {
  align-items: center;
  border-radius: 10px;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  font-size: 11px;
  font-weight: 700;
  gap: 3px;
  justify-content: center;
  line-height: 1.2;
  min-height: 58px;
  min-width: 0;
  padding: 5px 4px;
  scroll-snap-align: start;
  text-align: center;
  text-decoration: none;
}

.nav-item.active {
  background: var(--surface-raised);
  color: var(--text);
}

.nav-item small {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
}

.nav-item.unavailable {
  color: var(--disabled-text);
  cursor: not-allowed;
}

.workspace {
  margin: 0 auto;
  max-width: 1120px;
  padding: 16px 16px 104px;
  width: 100%;
}

.mobile-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 42px;
}

.mobile-account {
  align-items: center;
  display: flex;
  gap: 8px;
  min-width: 0;
}

.mobile-identity {
  align-items: center;
  display: flex;
  gap: 9px;
  min-width: 0;
}

.identity-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.identity-copy strong,
.identity-copy small {
  display: block;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.identity-copy strong {
  font-size: 12px;
}

.identity-copy small {
  color: var(--muted);
  font-size: 10px;
  margin-top: 3px;
}

.identity-avatar {
  align-items: center;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.logout-form.compact button {
  align-items: center;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 19px;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.workspace-header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 28px;
}

.overline {
  color: var(--accent-text);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0 0 9px;
  text-transform: uppercase;
}

.workspace-header h1 {
  font-size: clamp(30px, 9vw, 48px);
  letter-spacing: -.05em;
  line-height: 1.05;
  margin: 0;
}

.workspace-subtitle {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 12px 0 0;
}

.prospect-action {
  align-self: stretch;
  gap: 10px;
  justify-content: space-between;
}

.prospect-action small {
  background: var(--disabled-badge);
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .04em;
  padding: 5px 8px;
  text-transform: uppercase;
}

.metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metric-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  min-width: 0;
  padding: 16px 12px;
}

.metric-card strong {
  display: block;
  font-size: 27px;
  letter-spacing: -.04em;
  line-height: 1;
  margin-bottom: 10px;
}

.metric-card span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.empty-state {
  align-items: flex-start;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 12px;
  min-height: 190px;
  padding: 28px 24px;
}

.empty-mark {
  background: var(--accent);
  border-radius: 999px;
  height: 6px;
  margin-bottom: 24px;
  width: 42px;
}

.empty-state h2 {
  font-size: 21px;
  letter-spacing: -.025em;
  margin: 0 0 9px;
}

.empty-state p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* Boîtes mail */
.mailbox-workspace {
  max-width: 940px;
}

.mailbox-heading {
  margin-bottom: 24px;
}

.connect-card,
.mailbox-card,
.mailbox-empty,
.mailbox-summary {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.mailbox-summary {
  margin-bottom: 12px;
  padding: 18px 20px;
}

.mailbox-summary h2 {
  font-size: 17px;
  letter-spacing: -.02em;
  margin: 0;
}

.mailbox-summary header p {
  color: var(--muted);
  font-size: 12px;
  margin: 5px 0 0;
}

.mailbox-summary ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.mailbox-summary li {
  min-width: 0;
}

.mailbox-summary a {
  align-items: center;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 11px;
  display: flex;
  font-size: 13px;
  font-weight: 700;
  gap: 9px;
  justify-content: space-between;
  min-height: 44px;
  padding: 0 13px;
  text-decoration: none;
  width: 100%;
}

.mailbox-summary a span {
  overflow-wrap: anywhere;
}

.mailbox-summary a:hover {
  border-color: var(--accent);
}

.mailbox-summary small {
  color: var(--accent-text);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.connect-card {
  display: grid;
  gap: 24px;
  padding: 22px;
}

.connect-card h2,
.mailbox-empty h2 {
  font-size: 20px;
  letter-spacing: -.025em;
  margin: 0 0 8px;
}

.connect-card > div > p,
.mailbox-empty p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.connect-form,
.reconnect-form {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.connect-form label,
.reconnect-form label {
  font-size: 13px;
  font-weight: 700;
  margin-top: 4px;
}

.connect-form input:not([type="hidden"]):not([type="checkbox"]),
.reconnect-form input:not([type="hidden"]):not([type="checkbox"]) {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  min-height: 50px;
  padding: 0 14px;
  width: 100%;
}

.connect-form input:not([type="hidden"]):focus,
.reconnect-form input:not([type="hidden"]):focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(214, 0, 0, .18);
  outline: 0;
}

.connect-form .button {
  margin-top: 8px;
}

.mailbox-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.mailbox-card {
  padding: 20px;
}

.mailbox-card-header {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.mailbox-card-header h2 {
  font-size: 18px;
  letter-spacing: -.02em;
  margin: 0;
  overflow-wrap: anywhere;
}

.mailbox-card-header p,
.mailbox-verified,
.mailbox-warning {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 6px 0 0;
}

.mailbox-badges {
  align-items: flex-end;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 7px;
}

.mailbox-warning {
  color: var(--danger-text);
}

.status-pill {
  border: 1px solid var(--border);
  border-radius: 999px;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 9px;
}

.primary-pill {
  background: var(--accent-glow);
  border: 1px solid var(--danger-border);
  border-radius: 999px;
  color: var(--accent-text);
  display: inline-flex;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
  padding: 5px 8px;
  text-transform: uppercase;
  vertical-align: middle;
}

.status-connected {
  background: var(--surface-raised);
  color: var(--text);
}

.status-error {
  background: var(--danger-surface);
  border-color: var(--danger-border);
  color: var(--danger-text);
}

.mailbox-actions {
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 18px;
  padding-top: 18px;
}

.mailbox-management-actions {
  display: grid;
  gap: 10px;
}

.mailbox-management-actions form,
.mailbox-management-actions .button {
  width: 100%;
}

.reconnect-form {
  border-top: 1px solid var(--border);
  padding-top: 18px;
}

.reconnect-form h3 {
  font-size: 0.96rem;
  margin: 0 0 10px;
}

.inline-form {
  display: grid;
  gap: 9px;
}

.mailbox-empty {
  margin-top: 12px;
  padding: 28px 22px;
}

/* Retrait d’une boîte */
.removal-layout {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 16px;
}

.removal-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  max-width: 560px;
  padding: clamp(24px, 7vw, 40px);
  width: 100%;
}

.removal-card > .brand {
  margin-bottom: 48px;
}

.removal-card > .overline {
  margin-top: 20px;
}

.removal-card h1 {
  font-size: clamp(31px, 9vw, 44px);
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: 0 0 18px;
}

.removal-address {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 17px;
  font-weight: 800;
  gap: 9px;
  margin: 0 0 14px;
  overflow-wrap: anywhere;
}

.removal-copy,
.removal-field p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.removal-copy {
  margin: 0 0 24px;
}

.removal-form,
.removal-field {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.removal-field label {
  font-size: 13px;
  font-weight: 750;
}

.removal-field select {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  min-height: 52px;
  padding: 0 13px;
  width: 100%;
}

.removal-field p {
  margin: 0;
}

.removal-actions {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

/* Erreurs */
.error-layout {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 16px;
}

.error-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  max-width: 430px;
  padding: clamp(24px, 7vw, 38px);
  width: 100%;
}

.error-card > .brand {
  margin-bottom: 64px;
}

.error-card h1 {
  font-size: clamp(31px, 9vw, 44px);
  letter-spacing: -.04em;
  line-height: 1.08;
  margin: 20px 0 12px;
}

.error-card p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 28px;
}

/* Messagerie gérée */
.mail-workspace {
  max-width: 1180px;
}

.mail-heading {
  gap: 20px;
}

.managed-address-card,
.mail-compose-card,
.mail-reply-card,
.mail-empty {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
}

.managed-address-card {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 18px;
}

.managed-address-card h2,
.mail-reply-card h2 {
  font-size: 18px;
  margin: 4px 0 0;
}

.managed-address {
  color: var(--accent-text);
  font-weight: 760;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}

.managed-thread-list {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.managed-thread {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 88px;
  padding: 18px 20px;
  text-decoration: none;
}

.managed-thread + .managed-thread {
  border-top: 1px solid var(--border);
}

.managed-thread:hover {
  background: var(--surface-raised);
}

.managed-thread-main,
.managed-thread-meta {
  display: flex;
  min-width: 0;
}

.managed-thread-main {
  flex-direction: column;
  gap: 5px;
}

.managed-thread-main strong,
.managed-thread-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.managed-thread-main small,
.managed-thread-meta {
  color: var(--muted);
}

.managed-thread-meta {
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 10px;
}

.mail-unread {
  background: var(--accent-glow);
  border-radius: 999px;
  color: var(--accent-text);
  font-weight: 760;
  padding: 5px 9px;
}

.mail-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-height: 220px;
  justify-content: center;
  text-align: center;
}

.mail-empty h2 {
  margin: 18px 0 6px;
}

.mail-empty p {
  color: var(--muted);
  margin: 0;
}

.mail-compose-form {
  display: grid;
  gap: 10px;
}

.mail-compose-form label {
  font-size: 13px;
  font-weight: 750;
  margin-top: 6px;
}

.mail-compose-form input,
.mail-compose-form textarea {
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: 11px;
  color: var(--text);
  padding: 13px 14px;
  width: 100%;
}

.mail-compose-form textarea {
  line-height: 1.55;
  resize: vertical;
}

.mail-compose-form .button {
  margin-top: 8px;
}

.mail-thread {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

.mail-message {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  max-width: 92%;
  padding: 17px;
}

.mail-message.outgoing {
  background: var(--accent-glow);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border));
  justify-self: end;
}

.mail-message.incoming {
  justify-self: start;
}

.mail-message header {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 9px;
}

.mail-message header strong {
  color: var(--text);
}

.mail-message-body {
  line-height: 1.55;
  margin: 14px 0 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.mail-reply-card h2 {
  margin-bottom: 16px;
}

.prospect-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.prospect-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.prospect-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  display: grid;
  gap: 20px;
  padding: 20px;
}

.prospect-card h2,
.prospect-card p {
  margin: 0 0 8px;
}

.prospect-actions,
.prospect-actions form {
  display: grid;
  gap: 8px;
}

.prospect-actions select {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  min-height: 44px;
  padding: 0 12px;
}

@media (min-width: 800px) {
  .app-shell {
    padding-left: 216px;
  }

  .side-rail {
    border-right: 1px solid var(--border);
    border-top: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 24px 16px;
    right: auto;
    top: 0;
    width: 216px;
  }

  .side-rail > .brand,
  .side-rail > .identity,
  .side-rail > .logout-form {
    display: flex;
  }

  .identity {
    align-items: center;
    border-bottom: 1px solid var(--border);
    gap: 11px;
    margin: 34px 0 20px;
    min-width: 0;
    padding-bottom: 20px;
  }

  .identity-copy strong {
    font-size: 13px;
  }

  .identity-copy small {
    font-size: 11px;
  }

  .primary-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    overflow: visible;
  }

  .nav-item {
    align-items: center;
    flex-direction: row;
    font-size: 13px;
    justify-content: space-between;
    min-height: 52px;
    padding: 0 13px;
    text-align: left;
  }

  .nav-item small {
    font-size: 9px;
  }

  .side-rail > .logout-form {
    margin-top: auto;
  }

  .side-rail > .logout-form button {
    align-items: center;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--muted);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 13px;
    width: 100%;
  }

  .workspace {
    padding: 56px 40px;
  }

  .mobile-header {
    display: none;
  }

  .workspace-header {
    align-items: flex-end;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 36px;
  }

  .prospect-action {
    align-self: auto;
    min-width: 230px;
  }

  .metrics {
    gap: 14px;
  }

  .metric-card {
    padding: 22px;
  }

  .metric-card span {
    font-size: 13px;
  }

  .empty-state {
    margin-top: 14px;
    min-height: 220px;
    padding: 40px 48px;
  }

  .connect-card {
    align-items: start;
    grid-template-columns: minmax(180px, .75fr) minmax(320px, 1.25fr);
    padding: 28px;
  }

  .mailbox-card {
    padding: 24px 28px;
  }

  .mailbox-actions {
    align-items: stretch;
  }

  .mailbox-management-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
  }

  .mailbox-management-actions form,
  .mailbox-management-actions .button {
    width: auto;
  }

  .reconnect-form {
    width: 100%;
  }

  .mailbox-summary ul {
    display: flex;
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .mailbox-summary li {
    flex: 0 0 auto;
  }

  .mailbox-summary a {
    justify-content: flex-start;
    width: auto;
  }

  .inline-form {
    grid-template-columns: minmax(180px, 1fr) auto;
  }

  .removal-actions {
    grid-template-columns: 1fr 1fr;
  }

  .managed-address-card {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    padding: 26px 28px;
  }

  .managed-thread {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }

  .managed-thread-main {
    flex: 1 1 auto;
  }

  .managed-thread-meta {
    flex: 0 0 auto;
    justify-content: flex-end;
  }

  .mail-compose-card,
  .mail-reply-card {
    padding: 28px;
  }

  .mail-message {
    max-width: 78%;
  }
}

@media (max-width: 479px) {
  .mobile-identity .identity-copy {
    display: none;
  }
}

@media (min-width: 1100px) {
  .workspace {
    padding-left: 64px;
    padding-right: 64px;
  }
}

.connected-list { display: grid; margin-top: 20px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.mail-open { display: grid; gap: 5px; padding: 20px 24px; width: 100%; text-align: left; color: inherit; background: transparent; border: 0; cursor: pointer; overflow-wrap: anywhere; }
.mail-open strong { font-size: 15px; font-weight: 500; }
.mail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.mail-body-frame { width: 100%; min-height: 24rem; border: 1px solid var(--border); background: var(--surface); color-scheme: light dark; }
.mail-body-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.correspondent { margin: 1rem 0; overflow-wrap: anywhere; }
button:disabled { cursor: not-allowed; opacity: .65; }
.mailbox-card { min-width: 0; overflow-wrap: anywhere; }

.mail-workspace button:disabled { background: var(--surface-raised); border: 1px solid var(--border); color: var(--muted); opacity: 1; border-radius: 8px; padding: 8px 10px; }
.mail-workspace > .connect-card { margin-top: 16px; }

/* Une hiérarchie commune, sans masquer les actions. */
.workspace-header h1 { font-size: clamp(28px, 5vw, 38px); line-height: 1.15; }
.mobile-header { margin-bottom: 28px; }
.nav-item.active { background: var(--accent-glow); color: var(--accent-text); }
.button { font-size: 14px; min-height: 44px; }
.empty-state .button, .mail-empty .button { margin-top: 20px; }
.mail-empty p { max-width: 430px; line-height: 1.6; }
.mail-connection { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; overflow-wrap: anywhere; }
.sync-caption { color: var(--muted); font-size: 12px; margin: 10px 0 20px; }
.mail-folders { display: flex; gap: 6px; border-bottom: 1px solid var(--border); margin: 24px 0 20px; }
.mail-folders .button { background: transparent; border: 0; border-radius: 0; color: var(--muted); padding: 12px 18px; border-bottom: 2px solid transparent; }
.mail-folders [aria-current="page"] { border-bottom-color: var(--accent); color: var(--accent-text); }
.mail-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.mail-search { display: flex; flex: 1; gap: 8px; min-width: min(100%, 320px); }
.mail-search label { flex: 1; min-width: 0; }
.mail-search input, .connect-form textarea { width: 100%; min-height: 44px; border: 1px solid var(--border); border-radius: 10px; padding: 12px; background: var(--surface); color: var(--text); }
.connect-form textarea { resize: vertical; margin-top: 6px; }
.connect-form input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--accent); vertical-align: middle; }
.connect-form p { font-size: 12px; color: var(--muted); line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mail-row + .mail-row { border-top: 1px solid var(--border); }
.mail-row:hover { background: var(--surface-raised); }
.mail-row.is-unread { border-left: 3px solid var(--accent); }
.mail-row.is-unread strong, .mail-row.is-unread .mail-sender { font-weight: 750; }
.mail-sender { font-size: 13px; color: var(--muted); }
.mail-open small { color: var(--muted); font-size: 12px; margin-top: 4px; }
.mail-open:focus-visible { outline-offset: -4px; }
.connected-list .mail-empty { border: 0; box-shadow: none; }
.provider-title { margin-top: 16px !important; }
.connection-controls { min-width: 0; }
.connection-controls details + details { border-top: 1px solid var(--border); margin-top: 20px; padding-top: 12px; }
summary { cursor: pointer; font-weight: 650; padding: 14px 0; min-height: 44px; }
summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.disconnect-settings form { display: grid; gap: 16px; font-size: 13px; line-height: 1.6; }
.future-methods { display: grid; gap: 12px; margin-top: 20px; }
.future-methods > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border: 1px dashed var(--border); border-radius: 12px; }
.mail-workspace .future-methods button:disabled { border: 0; background: transparent; padding: 0; text-align: left; font-size: 13px; }
.future-methods small { color: var(--muted); font-size: 11px; }
.back-link { color: var(--muted); font-size: 13px; display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.back-link:hover { color: var(--accent-text); }
.conversation-heading { margin-top: 16px; }
.conversation-heading h1 { overflow-wrap: anywhere; }
.correspondent { padding: 16px 0; border-top: 1px solid var(--border); font-size: 13px; }
.correspondent .mail-actions { margin: 10px 0 0; align-items: center; }
.correspondent small { color: var(--muted); }
.conversation-message { margin-top: 16px; }
.conversation-message header h2 { font-size: 17px; margin: 0 0 16px; }
.conversation-message header p { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 6px 0; }
.mail-body-frame { margin-top: 20px; border-radius: 10px; }
.forward-panel { border-top: 1px solid var(--border); margin-top: 20px; }
.forward-panel summary { color: var(--accent-text); }
@media (max-width: 599px) {
  .mail-toolbar > form:last-child { width: 100%; }
  .mail-toolbar > form:last-child > button { width: 100%; }
  .mail-folders .button { flex: 1; padding-inline: 10px; }
  .mail-open { padding: 18px 16px; }
  .mailbox-card, .connect-card { padding: 20px; }
}

.mail-notice { background: var(--surface-raised); border: 1px solid var(--border); border-radius: 12px; color: var(--text); font-size: 14px; line-height: 1.5; padding: 14px 16px; margin: 16px 0; }

.mail-row { display: flex; align-items: center; gap: 8px; }
.mail-row > form:first-child { flex: 1; min-width: 0; }
.mail-row-action { flex: 0 0 auto; padding-right: 16px; }
.mail-row-action .button { font-size: 12px; padding: 0 12px; }
@media (max-width: 479px) {
  .mail-row { gap: 0; }
  .mail-row-action { padding-right: 10px; }
  .mail-row-action .button { padding: 0 8px; }
}


.mail-composer { display: grid; gap: 1.2rem; max-width: 52rem; margin: 1.5rem 0; }
.mail-composer label { display: grid; gap: .45rem; min-width: 0; }
.mail-composer input:not([type=hidden]), .mail-composer textarea { width: 100%; box-sizing: border-box; font-weight: 400; font-size: 16px; }
.mail-composer textarea { resize: vertical; line-height: 1.6; }
.compose-copies { display: grid; gap: 1rem; margin-top: 1rem; }
.compose-files ul { list-style: none; padding: 0; margin: .5rem 0; }
.compose-files li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; overflow-wrap: anywhere; }
.compose-source { max-width: 52rem; }
.mail-composer [hidden] { display: none; }


.agent-controls { margin-top: 24px; padding: 1rem; border: 1px solid var(--border, #8885); border-radius: 12px; margin-bottom: 1rem; }
.agent-controls details { padding: .75rem 0; }
.agent-controls summary { cursor: pointer; font-weight: 600; }
.agent-form { display: grid; gap: 1rem; }
.agent-form label { display: grid; gap: .4rem; }
.agent-form input:not([type=checkbox]),.agent-form select,.agent-form textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .7rem; border: 1px solid #8887; border-radius: 8px; color: inherit; background: transparent; }
.agent-form fieldset { border: 1px solid #8885; border-radius: 8px; padding: 1rem; }
.agent-form .agent-check { display: flex; align-items: flex-start; gap: .6rem; padding: .4rem 0; }
.agent-limits { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.agent-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.agent-rich { white-space: normal; }
.agent-rich p { margin: 0 0 .7em; }
.agent-rich p:last-child, .agent-rich ul:last-child, .agent-rich ol:last-child { margin-bottom: 0; }
.agent-rich ul, .agent-rich ol { margin: 0 0 .7em; padding-left: 1.3em; }
.agent-rich li { margin: .25em 0; }
.agent-rich strong { font-weight: 650; }
/* MCI acting on a page (owner-approved 8 October 2026): a small card, the element pointed at, changed fields. */
.mci-act { position: fixed; z-index: 60; right: 20px; bottom: 20px; display: flex; gap: 12px; align-items: center; width: min(360px, calc(100vw - 32px));
  padding: 12px 14px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
  animation: mci-act-in .35s ease-out; }
.mci-act-mascot { flex: none; width: 56px; height: 56px; object-fit: contain; }
.mci-act-text { display: grid; gap: 2px; min-width: 0; }
.mci-act-text strong { font-size: .95rem; }
.mci-act-text span:not(.mci-act-bar) { color: var(--muted); font-size: .85rem; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mci-act-bar { position: relative; height: 3px; margin-top: 6px; border-radius: 3px; background: var(--surface-raised); overflow: hidden; }
.mci-act-bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 40%; border-radius: 3px; background: var(--accent); animation: mci-act-progress 1.2s ease-in-out infinite; }
.mci-act[data-state="done"] .mci-act-bar::after { width: 100%; animation: none; }
.mci-act[data-state="error"] .mci-act-bar::after { width: 100%; animation: none; background: var(--muted); }
.mci-act-target { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 10px; animation: mci-act-glow 1.6s ease-in-out infinite; }
.mci-act-field { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 8px; }
.mci-act-done { outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 3px; border-radius: 8px; transition: outline-color .4s; }
@keyframes mci-act-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes mci-act-progress { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@keyframes mci-act-glow { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent); } 50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent); } }
@media (max-width: 760px) { .mci-act { left: 16px; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); width: auto; } }
@media (prefers-reduced-motion: reduce) { .mci-act, .mci-act-target, .mci-act-bar::after { animation: none; } .mci-act-done { transition: none; } }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.agent-error:empty { display: none; }
.agent-error { color: #ba2941; }
@media(max-width:600px) { .agent-limits {grid-template-columns:1fr;} .agent-user,.agent-assistant {margin-left:0;margin-right:0;} }

.agent-target-choices { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.agent-target-choices h3 { width:100%; margin:0; font-size:16px; }
.agent-target-choices button { white-space:normal; overflow-wrap:anywhere; text-align:left; }
.agent-target-choices form { max-width:100%; }
.profile-review { max-width:760px; margin-top:20px; }
.agent-draft { border-bottom:1px solid var(--border); padding-bottom:16px; }
/* Agent conversation: reuse the app's automatic theme and native form controls. */
.agent-workspace { max-width: 1280px; margin-inline: auto; }
.agent-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
.agent-heading h1 { margin: 0; font-size: 25px; letter-spacing: -.04em; }
.agent-heading p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.agent-new { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 10px; font-size: 12px; font-weight: 600; text-decoration: none; background: var(--surface); }
.agent-new > span { font-size: 20px; font-weight: 400; }
.agent-confirm { width:min(420px,calc(100vw - 32px)); box-sizing:border-box; padding:28px; margin:auto; border:1px solid var(--border); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 24px 80px #0004; }
.agent-confirm::backdrop { background:rgb(0 0 0 / .5); }
.agent-confirm h2 { margin:0 0 12px; font-size:20px; line-height:1.3; letter-spacing:-.02em; }
.agent-confirm p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.agent-confirm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:24px; }
.agent-confirm-actions .button { min-height:44px; }
.agent-remove { display:inline-flex; align-items:center; justify-content:center; width:36px; min-height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.agent-remove:hover { color:var(--danger-text); background:var(--surface-raised); }
.agent-discussions { margin-top: 12px; max-width: 380px; }
.agent-discussions summary { display: flex; align-items: center; gap: 10px; width: fit-content; font-size: 12px; color: var(--muted); }
.agent-discussions summary::before { content: '＋'; font-size: 16px; }
.agent-discussions[open] summary::before { content: '−'; }
.agent-discussions summary span { border-radius: 6px; padding: 3px 6px; background: var(--surface-raised); font-size: 10px; }
.agent-discussions nav { display: grid; max-height: 230px; overflow-y: auto; border: 1px solid var(--border); background: var(--surface); border-radius: 12px; padding: 6px; }
.agent-discussion-row { display:flex; align-items:center; gap:4px; min-width:0; }
.agent-discussion-row > a { flex:1; min-width:0; }
.agent-discussion-row > form { flex-shrink:0; }
.agent-discussions nav a { padding: 12px; border-radius: 6px; font-size: 13px; text-decoration: none; overflow-wrap: anywhere; }
.agent-discussions nav a:hover,.agent-discussions nav a[aria-current] { background: var(--surface-raised); }
.agent-chat { max-width: 760px; margin: 0 auto; padding-top: 30px; }
.agent-history { min-height: 200px; }
.agent-welcome { text-align: center; padding: 28px 0 38px; }
.agent-emblem { display: inline-grid; place-items: center; width: 48px; height: 48px; color: var(--accent-text); background: var(--accent-glow); border: 1px solid var(--border); border-radius: 16px; font-size: 22px; font-weight: 750; }
.agent-welcome .agent-eyebrow { margin: 24px 0 10px; font-size: 11px; font-weight: 650; letter-spacing: .02em; }
.agent-welcome h2 { margin: 0; font-size: clamp(30px,4vw,44px); font-weight: 650; line-height: 1.12; letter-spacing: -.045em; }
.agent-welcome p { color: var(--muted); font-size: 14px; line-height: 1.7; margin: 18px 0 0; }
.agent-suggestions { display: flex; justify-content: center; gap: 10px; margin-top: 26px; flex-wrap: wrap; }
.agent-suggestions button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 46px; padding: 10px 14px; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: 10px; font-size: 12px; cursor: pointer; }
.agent-suggestions button[hidden] { display: none; }
.agent-suggestions button:hover { border-color: var(--muted); }
.agent-suggestions svg { color: var(--muted); }
.agent-message { margin-bottom: 36px; }
.agent-speaker { display: block; color: var(--muted); font-size: 11px; font-weight: 650; margin-bottom: 9px; }
.agent-message-body { font-size: 15px; line-height: 1.75; padding: 18px 22px; max-width: 90%; border: 1px solid; }
.agent-message .agent-text { margin: 0; }
.agent-user { display: flex; flex-direction: column; align-items: flex-end; padding-left: 36px; }
.agent-user .agent-message-body { background: #e8f0fc; color: #203d64; border-color: #cbdcf3; border-radius: 18px 18px 4px 18px; }
.agent-assistant { display: flex; flex-direction: column; align-items: flex-start; padding-right: 36px; }
.agent-assistant .agent-message-body { background: #fbeaec; color: #632c38; border-color: #efcfd5; border-radius: 18px 18px 18px 4px; }
@media(prefers-color-scheme:dark) {
 .agent-user .agent-message-body { background: #182b43; color: #dfebff; border-color: #304b6c; }
 .agent-assistant .agent-message-body { background: #351f29; color: #f9e0e6; border-color: #603643; }
}
.agent-assistant .agent-speaker { color: var(--accent-text); }
.agent-status:empty { display: none; }
.agent-mission { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--border); padding: 12px 0; color: var(--muted); font-size: 12px; }
.agent-mission form { margin-left: auto; }
.agent-stop { min-height: 36px; background: transparent; border: 1px solid var(--border); border-radius: 8px; color: var(--muted); padding: 6px 12px; cursor: pointer; font-size: 12px; }
.agent-composer { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; padding: 16px; gap: 8px; box-shadow: 0 4px 20px rgba(0,0,0,.025); }
.agent-composer:focus-within { border-color: var(--muted); }
.agent-composer:has(textarea:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.agent-form.agent-composer textarea:focus-visible { outline: none; }
.agent-form.agent-composer textarea { border: 0; border-radius: 8px; padding: 8px; min-height: 100px; max-height: 360px; resize: vertical; line-height: 1.6; font-size: 16px; background: transparent; }
.agent-composer textarea::placeholder { color: var(--muted); opacity: 1; }
.agent-compose-footer { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.agent-composer .agent-send { width: auto; display: inline-flex; align-items: center; gap: 10px; min-height: 42px; border-radius: 9px; padding: 10px 16px; font-size: 12px; }
.agent-composer .agent-error { margin: 4px 8px; font-size: 12px; line-height: 1.5; color: var(--danger-text); }
.agent-composer-note { margin: 12px 0 0; text-align: center; color: var(--muted); font-size: 11px; line-height: 1.6; }
.agent-composer-note a { text-underline-offset: 3px; }
@media(max-width:599px) {
 .agent-heading { gap: 8px; padding-bottom: 18px; }
 .agent-heading h1 { font-size: 23px; }
 .agent-heading p { font-size: 11px; }
 .agent-new { font-size: 11px; gap: 3px; padding: 6px 9px; }
 .agent-chat { padding-top: 18px; }
 .agent-welcome { padding: 12px 0 26px; }
 .agent-welcome .agent-eyebrow { margin-top: 18px; }
 .agent-welcome p { font-size: 13px; }
 .agent-suggestions { gap: 8px; margin-top: 20px; }
 .agent-suggestions button { gap: 8px; font-size: 11px; padding: 10px; }
 .agent-composer { padding: 10px; }
 .agent-compose-footer { gap: 8px; }
 .agent-composer .agent-send { padding-inline: 12px; }
 .agent-message { margin-bottom: 30px; }
 .agent-message-body { max-width: 100%; padding: 16px 18px; }
 .agent-assistant { padding-right: 16px; }
 .agent-user { padding-left: 16px; }
}

.profile-workspace { max-width: 1120px; }
.profile-editor { max-width: 760px; padding: 28px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.profile-editor { display:flex; flex-direction:column; gap:10px; }
.profile-editor label { margin-top:12px; font-weight:600; }
.profile-editor select { width:100%; max-width:100%; padding:12px; color:var(--text); background:var(--background); border:1px solid var(--border); border-radius:var(--radius); font:inherit; }
.profile-editor input,.profile-editor textarea { width:100%; min-width:0; max-width:100%; padding:12px; color:var(--text); background:var(--background); border:1px solid var(--border); border-radius:10px; font:inherit; }
.profile-editor textarea { resize:vertical; }
.profile-details { margin:18px 0; }
.profile-details[open] { display:flex; flex-direction:column; }
.profile-details label { display:block; margin:18px 0 8px; }
.profile-details summary,.profile-actions summary { cursor:pointer; padding:10px 0; }
.profile-list { display:grid; gap:16px; max-width:880px; }
.profile-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; overflow-wrap:anywhere; }
.profile-card-heading a { text-decoration:none; }
.profile-card h2 { margin:0; font-size:19px; }
.profile-card-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.profile-state,.profile-caption { color:var(--muted); font-size:13px; }
.profile-state { flex-shrink:0; }
.profile-actions,.profile-filters { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.profile-actions { margin-top:16px; }
.profile-filters { margin:0 0 24px; }
.profile-filters [aria-current=page] { color:var(--accent-text); font-weight:700; }
.profile-field-error { color:var(--danger-text); margin:4px 0; }
.profile-editor [aria-invalid=true] { border-color:var(--danger-border); }
.agent-action { margin:12px 0; padding:16px; background:var(--background); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:12px; overflow-wrap:anywhere; }
.agent-action p { margin:0 0 12px; }
.agent-action-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.agent-action-buttons form { margin:0; }
.profile-proposal { margin:20px 0; padding:20px; background:var(--background); border:1px solid var(--border); border-radius:12px; overflow-wrap:anywhere; }
.profile-proposal dl { margin:0 0 20px; }
.profile-proposal dl div { padding:10px 0; }
.profile-proposal dt { font-size:13px; color:var(--muted); }
.profile-proposal dd { margin:5px 0 0; white-space:pre-wrap; }
.profile-changed { border-left:2px solid var(--accent); padding-left:12px!important; }
@media(max-width:600px){
 .profile-editor,.profile-card { padding:18px; }
 .profile-card-heading { flex-wrap:wrap; gap:8px; }
 .profile-workspace .workspace-header { align-items:flex-start; gap:18px; }
}

[hidden] { display:none !important; }
.button-small { min-height:40px; padding:0 14px; border-radius:10px; font-size:14px; font-weight:700; }
.linkedin-link { display:inline-flex; align-items:center; gap:.35rem; color:#075aa6; min-height:32px; text-decoration:none; font-weight:600; }
.linkedin-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; border-radius:4px; }
@media(prefers-color-scheme:dark) { .linkedin-link { color:#80c3ff; } }

/* Automatic research switch (Prospects and dashboard). */
.research-header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.research-automation { max-width:30rem; }
.research-automation p { margin:.35rem 0; font-size:.9rem; }
.research-automation [role="switch"] { min-height:44px; }
.research-automation [aria-checked="true"] { border:2px solid var(--accent); }
.research-automation button:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.research-automation [data-automation-error]:empty { display:none; }
.research-automation .automation-toggle { display:inline-flex; align-items:center; gap:.75rem; min-height:44px; padding:0; border:0; background:transparent; color:var(--muted); font:inherit; font-size:.875rem; cursor:pointer; border-radius:6px; }
.research-automation .automation-toggle[aria-checked="true"] { border:0; }
.automation-toggle-track { display:inline-flex; flex:none; gap:2px; padding:3px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.automation-toggle-track > span { display:grid; place-items:center; min-width:36px; height:26px; border-radius:5px; color:var(--muted); font-size:.7rem; font-weight:650; letter-spacing:.04em; }
.automation-toggle[aria-checked="true"] .automation-on { background:var(--accent); color:#fff; }
.automation-toggle[aria-checked="false"] .automation-off { background:var(--text); color:var(--surface); }
.automation-toggle:disabled { opacity:.55; cursor:default; }

/* Prospects register */
.prospect-page .workspace-header { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-bottom:20px; }
.prospect-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 16px; }
.prospect-toolbar .prospect-filters { display:inline-flex; gap:2px; margin:0; padding:3px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.prospect-toolbar .prospect-pipeline { width:100%; max-width:100%; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
.prospect-tab { display:inline-flex; align-items:center; min-height:38px; padding:0 14px; border-radius:9px; color:var(--muted); font-size:14px; font-weight:650; text-decoration:none; }
.prospect-tab:hover { color:var(--text); }
.prospect-tab[aria-current="page"] { background:var(--text); color:var(--surface); }
.prospect-tab:focus-visible, .prospect-row summary:focus-visible, .research-extra-filters summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.prospect-pipeline .prospect-tab { flex:0 0 auto; padding-inline:10px; white-space:nowrap; }

.prospect-create { margin:0 0 20px; padding:20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.prospect-create > summary { display:none; }
.prospect-create h2 { margin:0 0 16px; font-size:18px; letter-spacing:-.02em; }
.prospect-form { display:grid; gap:14px; }
.prospect-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
.prospect-field { display:grid; gap:6px; min-width:0; }
.prospect-field-wide { grid-column:1 / -1; }
.prospect-field label, .research-extra-filters label, .prospect-stage label { color:var(--muted); font-size:13px; font-weight:650; }
.prospect-page input:not([type=hidden]):not([type=checkbox]), .prospect-page select, .prospect-page textarea, .prospect-form input:not([type=hidden]), .prospect-form select, .prospect-form textarea { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); font:inherit; font-size:15px; }
.prospect-create :is(input,select,textarea) { font-size:16px; }
.prospect-page textarea { resize:vertical; }
.prospect-page input:focus-visible, .prospect-page select:focus-visible, .prospect-page textarea:focus-visible, .prospect-form :is(input,select,textarea):focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); outline:0; }
.prospect-page input[type=checkbox] { width:20px; height:20px; margin:0; accent-color:var(--accent); cursor:pointer; }
.prospect-more > summary { display:inline-flex; align-items:center; min-height:40px; color:var(--muted); font-size:14px; font-weight:650; cursor:pointer; }
.prospect-more[open] > summary { margin-bottom:8px; }
.prospect-buttons { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

.research-filters { display:grid; gap:10px; margin:0 0 12px; }
.prospect-search { display:flex; gap:8px; }
.prospect-search input { flex:1; }
.research-extra-filters > summary { display:inline-flex; align-items:center; gap:8px; min-height:40px; color:var(--muted); font-size:14px; font-weight:650; cursor:pointer; }
.filter-count { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--accent); color:#fff; font-size:12px; }
.research-extra-filters[open] > summary { margin-bottom:8px; }
.filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:12px; align-items:end; padding:14px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.filter-grid label { display:grid; gap:6px; }
.filter-actions { display:flex; gap:8px; }
.prospect-export { position:relative; }
.prospect-export > summary { list-style:none; cursor:pointer; min-height:36px; }
.prospect-export > summary::-webkit-details-marker { display:none; }
.prospect-export > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.prospect-export-menu { position:absolute; right:0; top:calc(100% + 6px); z-index:8; width:250px; max-width:calc(100vw - 48px); padding:8px; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:0 8px 24px #0002; }
.prospect-export-menu > strong { display:block; margin:6px 8px; font-size:13px; }
.prospect-export-menu p { margin:4px 8px 8px; font-size:12px; color:var(--muted); }
.prospect-export-menu button { display:block; width:100%; text-align:left; }
@media (max-width:700px) { .prospect-export-menu { left:0; right:auto; } }


.research-batch { position:sticky; top:8px; z-index:5; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; padding:10px 12px 10px 16px; background:var(--surface); border:1px solid var(--accent); border-radius:12px; box-shadow:var(--shadow); font-weight:650; }
.register-note { margin:0 0 12px; color:var(--danger-text); font-size:14px; }
.register-note:empty { display:none; }
.register-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:40px; margin:0 0 4px; font-size:14px; }
.register-select-all { display:inline-flex; align-items:center; gap:10px; color:var(--muted); cursor:pointer; }
.register-head, .prospect-row-main { display:grid; grid-template-columns:28px minmax(0,1fr) minmax(0,15rem) minmax(0,17rem); gap:16px; align-items:start; }
.register-head span:last-child { text-align:right; }
.register-head { padding:8px 18px; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.prospect-register { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.prospect-row { background:var(--surface); border:1px solid var(--border); border-radius:14px; }
.prospect-row:has([data-row-select]:checked) { border-color:var(--accent); }
.prospect-row:target, .prospect-card:target { box-shadow:inset 3px 0 0 var(--accent); background:rgba(214,0,0,.05); }
.prospect-row-main { padding:16px 18px 6px; }
.prospect-select { padding-top:2px; }
.prospect-identity { min-width:0; }
.prospect-name { margin:0; font-size:16px; line-height:1.35; letter-spacing:-.01em; overflow-wrap:anywhere; }
.prospect-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:4px 0 0; font-size:13px; color:var(--muted); }
.prospect-meta a { color:var(--muted); }
.prospect-meta .status-pill { padding:3px 8px; font-size:11px; }
.prospect-activity { margin:6px 0 0; color:var(--muted); font-size:14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.prospect-email { min-width:0; padding-top:1px; font-size:14px; overflow-wrap:anywhere; }
.prospect-muted { color:var(--muted); }
.prospect-decision { display:grid; gap:6px; justify-items:end; }
.prospect-decision .prospect-buttons { justify-content:flex-end; }
.prospect-target { margin:0; color:var(--muted); font-size:12px; }
.prospect-targets { justify-self:stretch; font-size:13px; }
.prospect-targets > summary { display:flex; align-items:center; justify-content:flex-end; color:var(--muted); cursor:pointer; min-height:32px; }
.prospect-targets .research-review { display:grid; gap:6px; padding:8px 0; border-top:1px solid var(--border); }
.prospect-targets label { display:flex; align-items:center; gap:8px; }

.prospect-details > summary { display:flex; align-items:center; min-height:40px; padding:0 18px 0 62px; color:var(--muted); font-size:13px; font-weight:650; cursor:pointer; list-style:none; }
.prospect-details > summary, .research-extra-filters > summary, .prospect-more > summary, .prospect-targets > summary { list-style:none; }
.prospect-details > summary::-webkit-details-marker, .research-extra-filters > summary::-webkit-details-marker, .prospect-more > summary::-webkit-details-marker, .prospect-targets > summary::-webkit-details-marker { display:none; }
.research-extra-filters > summary::after, .prospect-more > summary::after, .prospect-targets > summary::after { content:""; width:6px; height:6px; margin-left:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.research-extra-filters[open] > summary::after, .prospect-more[open] > summary::after, .prospect-targets[open] > summary::after { transform:translateY(2px) rotate(-135deg); }
.prospect-details > summary::after { content:""; width:7px; height:7px; margin-left:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.prospect-details[open] > summary::after { transform:translateY(2px) rotate(-135deg); }
.prospect-details > summary:hover { color:var(--text); }
.prospect-details-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; margin:0 18px 18px; padding-top:16px; border-top:1px solid var(--border); }
.prospect-details-body section { min-width:0; }
.prospect-details-body h3 { margin:0 0 10px; font-size:12px; color:var(--muted); font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.prospect-details-body p { margin:0 0 8px; font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
.prospect-facts { display:grid; gap:10px; margin:0; }
.prospect-facts div { display:grid; grid-template-columns:7.5rem minmax(0,1fr); gap:10px; font-size:14px; }
.prospect-facts dt { color:var(--muted); }
.prospect-facts dd { margin:0; overflow-wrap:anywhere; }
.prospect-facts dd .prospect-note { margin:4px 0 0; }
.prospect-note { color:var(--muted); font-size:13px !important; }
.prospect-quote { padding-left:12px; border-left:2px solid var(--accent); }
.prospect-assessment { color:var(--muted); }
.prospect-target-list { margin:0 !important; }
.prospect-sources, .prospect-target-list { margin:0 0 8px; padding:0; list-style:none; display:grid; gap:4px; font-size:14px; }
.prospect-details-body blockquote { margin:6px 0 10px; padding:8px 12px; border-left:2px solid var(--border); color:var(--muted); font-size:13px; line-height:1.55; max-height:14rem; overflow:auto; overflow-wrap:anywhere; }
.prospect-details-body article + article { margin-top:12px; padding-top:12px; border-top:1px solid var(--border); }
.prospect-proposal { margin-top:12px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface-raised); }
.prospect-manage { grid-column:1 / -1; display:grid; gap:10px; }
.prospect-manage form { margin:0; }
.prospect-manage-actions { display:flex; align-items:stretch; gap:8px; }
.prospect-manage-actions > form { display:flex; min-width:0; }
.prospect-manage-actions .button { min-width:0; min-height:44px; white-space:normal; }
.prospect-manage .prospect-more[open] { padding:14px; border:1px solid var(--border); border-radius:12px; }
.prospect-stage { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.prospect-stage select { width:auto; flex:0 1 14rem; }
.research-list-options { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:16px; font-size:13px; }
.research-page-size { display:flex; align-items:center; gap:8px; }
.research-page-size label { margin:0; color:var(--muted); font-size:13px; }
.research-page-size select {
 width:auto; min-width:84px; min-height:44px; padding-inline:12px 36px;
 -webkit-appearance:none; appearance:none;
 background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
 background-position:right 16px center,right 12px center;
 background-size:4px 4px; background-repeat:no-repeat;
}
.research-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; margin:20px 0; font-size:14px; color:var(--muted); }
[data-research-live][aria-busy="true"] .prospect-register { opacity:.6; }

@media(max-width:760px) {
 .register-head { display:none; }
 .prospect-row-main { grid-template-columns:24px minmax(0,1fr); gap:6px 12px; padding:14px 14px 4px; }
 .prospect-email, .prospect-decision { grid-column:2; }
 .prospect-decision { justify-items:stretch; margin-top:6px; }
 .prospect-decision .prospect-buttons { justify-content:flex-start; }
 .prospect-decision .prospect-buttons .button { flex:1; }
 .prospect-targets > summary { justify-content:flex-start; }
 .prospect-details > summary { padding-left:50px; }
 .prospect-details-body { grid-template-columns:1fr; margin:0 14px 14px; }
 .prospect-form-grid { grid-template-columns:1fr; }
 .prospect-facts div { grid-template-columns:6rem minmax(0,1fr); }
 .prospect-create { padding:16px; }
 .prospect-toolbar .prospect-filters { width:100%; }
 .prospect-tab { flex:1; justify-content:center; padding:0 8px; }
 .prospect-toolbar > [data-prospect-add] { width:100%; }
 .research-header-actions { width:100%; }
}

/* Shared look for every tab: one header, one tab control, one card language. */
.workspace-header { flex-direction:row; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 24px; margin-bottom:24px; }
.workspace-header > div:first-child { flex:1 1 18rem; min-width:0; }
.workspace-header h1 { font-size:clamp(28px,5vw,38px); letter-spacing:-.04em; line-height:1.1; overflow-wrap:anywhere; }
.workspace-subtitle { max-width:44rem; margin-top:8px; }
.header-actions { display:flex; flex-wrap:wrap; gap:8px; }
.header-actions .button { white-space:nowrap; }
.segmented { display:inline-flex; gap:2px; max-width:100%; margin:0 0 16px; padding:3px; border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow-x:auto; }
.segment { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 16px; border-radius:9px; color:var(--muted); font-size:14px; font-weight:650; text-decoration:none; white-space:nowrap; }
.segment:hover { color:var(--text); }
.segment[aria-current="page"] { background:var(--text); color:var(--surface); }
.segment:focus-visible, .metric-card:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.status-pill.status-on { border-color:transparent; background:var(--accent-glow); color:var(--accent-text); }
.mobile-identity .identity-copy { display:none; }

/* Accueil */
.metrics { margin-bottom:16px; }
.metric-card { display:block; color:inherit; text-decoration:none; box-shadow:none; padding:18px 16px; transition:border-color .12s; }
.metric-card:hover { border-color:var(--accent); }
.metric-card strong { font-size:30px; }
.metric-card span { font-size:13px; }
.automation-card { max-width:none; padding:20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.automation-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.automation-card h2 { margin:0; font-size:17px; letter-spacing:-.01em; }
.research-automation.automation-card p { margin:6px 0; font-size:14px; line-height:1.55; }
.research-automation.automation-card .automation-caption { margin-top:12px; color:var(--muted); font-size:13px; }
.dashboard-page .empty-state { margin:0 0 16px; }

/* Campagnes */
.profile-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr)); gap:12px; }
.profile-card { display:flex; flex-direction:column; padding:20px; }
.profile-card-heading { align-items:flex-start; }
.profile-card h2 { font-size:17px; line-height:1.35; }
.profile-card h2 a:hover { color:var(--accent-text); }
.profile-card .status-pill { padding:4px 9px; font-size:11px; color:var(--muted); }
.profile-card .status-pill.status-on { color:var(--accent-text); }
.profile-summary { margin:10px 0 6px; color:var(--text); font-size:14px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.profile-card .profile-caption { margin:0; }
/* Campagnes, clearer layout (4 October 2026): how-to steps, facts, zone tags and a numbered editor. */
/* « Comment ça marche » (owner-approved 17 October 2026): two centred cards, research then sending. */
.profile-howtos { display:grid; gap:14px; max-width:880px; margin:0 auto 22px; }
.profile-howto { margin:0; padding:16px 20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-soft, none); }
.profile-howto > summary { cursor:pointer; font-weight:600; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; list-style:none; }
.profile-howto > summary::-webkit-details-marker { display:none; }
.profile-howto > summary > span::before { content:"▸"; display:inline-block; width:1.1em; color:var(--muted); transition:transform .15s ease; }
.profile-howto[open] > summary > span::before { transform:rotate(90deg); }
.profile-steps.profile-steps-next { counter-reset:step 3; }
@media(prefers-reduced-motion:reduce) { .profile-howto > summary > span::before { transition:none; } }
.profile-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:16px; margin:14px 0 2px; padding:0; list-style:none; counter-reset:step; }
.profile-steps li { counter-increment:step; display:flex; flex-direction:column; gap:4px; font-size:14px; line-height:1.5; }
.profile-steps li::before { content:counter(step); display:inline-grid; place-items:center; width:26px; height:26px; margin-bottom:4px; border-radius:50%; background:var(--accent); color:#fff; font-size:13px; font-weight:700; }
.profile-steps span { color:var(--muted); }
.profile-facts { margin:12px 0 0; display:grid; gap:8px; }
.profile-facts div { display:grid; grid-template-columns:4.5rem 1fr; gap:8px; font-size:14px; line-height:1.5; }
.profile-facts dt { color:var(--muted); }
.profile-facts dd { margin:0; }
.profile-zones { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0; padding:0; list-style:none; }
.profile-zones li { padding:3px 10px; border:1px solid var(--border); border-radius:999px; font-size:12px; color:var(--muted); background:var(--background); }
.profile-editor { gap:0; }
.profile-step { padding:22px 0; border-top:1px solid var(--border); }
.profile-step:first-of-type { border-top:0; padding-top:4px; }
.profile-step > h2, .profile-step > summary { display:flex; align-items:center; gap:10px; margin:0 0 6px; font-size:17px; font-weight:700; }
.profile-step > summary { cursor:pointer; list-style:none; }
.profile-step > summary::-webkit-details-marker { display:none; }
.profile-step-number { display:inline-grid; place-items:center; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff; font-size:14px; }
.profile-optional .profile-step-number { background:var(--surface-raised); color:var(--muted); border:1px solid var(--border); }
.profile-field { display:flex; flex-direction:column; gap:6px; margin-top:16px; }
.profile-editor .profile-field label { margin-top:0; }
.profile-help-text { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.profile-optional-tag { margin-left:6px; padding:2px 8px; border:1px solid var(--border); border-radius:999px; font-size:11px; font-weight:500; color:var(--muted); }
.profile-card form small.profile-caption { display:block; margin-top:6px; }
.profile-company { display:flex; width:fit-content; max-width:100%; flex-direction:column; gap:2px; margin:0 0 14px; padding:10px 16px; border-left:4px solid var(--accent); border-radius:var(--radius); background:var(--surface); }
.profile-company span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.profile-company strong { font-size:22px; line-height:1.2; overflow-wrap:anywhere; }
.settings-section-title { margin:24px 0 10px; font-size:17px; }
.mci-address { opacity:.75; }
.prospect-name-link { color:inherit; text-decoration:none; border-bottom:1px solid var(--border); }
.prospect-name-link:hover, .prospect-name-link:focus-visible { color:var(--accent-text); border-bottom-color:currentColor; }
.prospect-name-link span[aria-hidden] { color:var(--muted); font-size:.85em; }
.prospect-source-link { margin-left:6px; font-size:12px; font-weight:500; color:var(--muted); }
.profile-ai { max-width:760px; margin:0 0 16px; padding:12px 16px; border-left:3px solid var(--accent); background:var(--surface); border-radius:var(--radius); font-size:14px; }
.profile-site { max-width:760px; margin:0 0 20px; padding:16px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.profile-site label { font-weight:600; }
.profile-site-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.profile-site-row input { flex:1 1 220px; min-width:0; }
.profile-source { margin:6px 0 0; font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
.profile-sequence { max-width:760px; margin:0 0 12px; font-size:14px; }
.profile-card > .profile-actions { margin-top:auto; padding-top:16px; gap:8px; align-items:flex-start; }
.profile-more > summary, .profile-details > summary, .forward-panel > summary, .compose-source > summary, .connection-controls summary, .mail-composer details > summary { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0; color:var(--muted); font-size:14px; font-weight:650; list-style:none; }
.profile-more > summary::-webkit-details-marker, .profile-details > summary::-webkit-details-marker, .forward-panel > summary::-webkit-details-marker, .compose-source > summary::-webkit-details-marker, .connection-controls summary::-webkit-details-marker, .mail-composer details > summary::-webkit-details-marker { display:none; }
.profile-more > summary::after, .profile-details > summary::after, .forward-panel > summary::after, .compose-source > summary::after, .connection-controls summary::after, .mail-composer details > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.profile-more[open] > summary::after, .profile-details[open] > summary::after, .forward-panel[open] > summary::after, .compose-source[open] > summary::after, .connection-controls details[open] > summary::after, .mail-composer details[open] > summary::after { transform:translateY(2px) rotate(-135deg); }
.profile-more .profile-actions { margin-top:4px; gap:4px; }
.profile-more .profile-actions form { margin:0; }
.profile-editor { gap:6px; padding:24px; }
.profile-editor label { margin-top:14px; font-size:14px; }
.profile-editor input, .profile-editor textarea { background:var(--surface); min-height:44px; }
.profile-editor input:focus-visible, .profile-editor textarea:focus-visible { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); outline:0; }
.profile-editor .profile-actions { gap:12px; margin-top:20px; }
.profile-editor .profile-actions a { color:var(--muted); }
.profile-details { margin:12px 0 0; }

/* Messagerie */
.mail-folders.segmented { border-bottom:1px solid var(--border); margin:20px 0 16px; }
.mail-connection { padding:14px 16px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.mail-connection + .sync-caption { margin:8px 0 0; }
.connected-list { margin-top:12px; }
.mail-row-action .button { min-height:36px; }
.correspondents { margin:0 0 16px; padding:4px 16px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.correspondents .correspondent:first-child { border-top:0; }
.correspondent .mail-actions button:disabled { font-size:12px; }
.conversation-message { padding:20px; }
.message-head { padding-bottom:12px; border-bottom:1px solid var(--border); }
.message-head h2 { overflow-wrap:anywhere; }
.conversation-message .mail-body-text { margin:16px 0; font-size:15px; line-height:1.6; }
.message-attachments { margin:0 0 12px; padding:0; list-style:none; display:grid; gap:6px; font-size:14px; }
.message-actions { align-items:center; }
.message-actions form { margin:0; }
.forward-panel { padding-top:4px; }
.forward-panel > summary { color:var(--accent-text); }
.mail-composer { max-width:760px; padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); display:grid; gap:12px; }
.mail-composer label { display:grid; gap:6px; font-size:13px; font-weight:650; color:var(--muted); }
.mail-composer input:not([type=hidden]):not([type=file]), .mail-composer textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); font:inherit; font-size:15px; }
.mail-composer textarea { resize:vertical; }
.mail-composer .mail-actions { margin:4px 0 0; }
.compose-source { max-width:760px; margin-top:16px; padding:16px 20px; }

/* Agent */
.agent-heading h1 { font-size:clamp(28px,5vw,38px); line-height:1.1; }
.agent-heading p { font-size:14px; }

@media(max-width:640px) {
 .workspace-header { flex-direction:column; align-items:stretch; }
 .workspace-header > div:first-child { flex:none; }
 .profile-workspace .workspace-header { align-items:stretch; }
 .header-actions .button { flex:1; }
 .segmented { display:flex; width:100%; }
 .segment { flex:1; padding:0 8px; }
 .profile-card, .profile-editor, .mail-composer, .conversation-message { padding:16px; }
 .automation-card { padding:16px; }
 .metric-card { padding:14px 12px; }
 .metric-card strong { font-size:26px; }
 .metric-card span { font-size:12px; }
 .message-actions .button { flex:1 1 auto; }
}

/* Modèles — describe an email, review the AI proposal, accept it. */
.model-workspace { max-width:880px; }
.model-workspace .header-actions { display:flex; gap:10px; }
.model-back { display:inline-block; margin:0 0 14px; color:var(--muted); font-size:14px; font-weight:600; text-decoration:none; }
.model-back:hover { color:var(--text); }
.model-section { margin:0 0 28px; }
.model-section h2 { margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.model-list, .model-drafts, .model-chips, .model-mail-list { list-style:none; margin:0; padding:0; }
.model-list { display:grid; gap:10px; }
.model-card { display:grid; gap:4px; padding:16px 18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text); text-decoration:none; }
.model-card:hover { border-color:var(--accent); }
.model-card-name { font-size:16px; font-weight:700; }
.model-card-situation { font-size:14px; color:var(--accent-text); }
.model-card-subject { font-size:14px; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-card-meta { font-size:12px; color:var(--muted); }
.model-drafts { display:grid; gap:6px; }
.model-drafts a { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px dashed var(--border); border-radius:12px; color:var(--text); text-decoration:none; }
.model-drafts a span { flex:1; font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-drafts small { color:var(--muted); }
.model-empty { display:grid; justify-items:center; gap:12px; padding:48px 16px; border:1px dashed var(--border); border-radius:16px; text-align:center; color:var(--muted); }
.model-empty p { margin:0; }
.model-empty-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--accent-glow); color:var(--accent-text); }
.model-footer-link { margin:8px 0 0; font-size:14px; }
.model-footer-link a { color:var(--muted); }
.model-link-button { border:0; background:none; padding:4px 0; color:var(--muted); font:inherit; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.model-link-button:hover { color:var(--text); }
.model-status { margin:0; min-height:0; font-size:14px; color:var(--muted); }
.model-status:empty { display:none; }

.model-view, .model-result { display:grid; gap:12px; padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); margin:0 0 18px; }
.model-view-header { display:grid; gap:6px; }
.model-view-header h1 { margin:0; font-size:24px; }
.model-situation-line { margin:0; color:var(--accent-text); font-size:15px; }
.model-subject { margin:0; font-size:15px; overflow-wrap:anywhere; }
.model-subject span { color:var(--muted); }
.model-preview { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#f6f4f1; }
.model-preview iframe { display:block; width:100%; height:480px; border:0; background:#ffffff; }
.model-caption { margin:0; font-size:12px; color:var(--muted); }
.model-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.model-actions form { margin:0; }
.model-result-top { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:32px; }
.model-versions { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--muted); }
.model-versions[hidden] { display:none; }
.model-versions button { width:32px; height:32px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font-size:18px; line-height:1; cursor:pointer; }
.model-versions button:disabled { opacity:.4; cursor:default; }
.model-name input { width:100%; border:0; border-bottom:1px solid transparent; background:none; padding:2px 0; color:var(--text); font:inherit; font-size:22px; font-weight:700; }
.model-situation { display:flex; align-items:baseline; gap:8px; font-size:15px; color:var(--accent-text); }
.model-situation span { flex:none; }
.model-situation textarea { flex:1; min-width:0; border:0; border-bottom:1px solid transparent; background:none; padding:2px 0; color:var(--accent-text); font:inherit; resize:none; field-sizing:content; min-height:1.5em; overflow:hidden; }
.model-name input:hover, .model-name input:focus, .model-situation textarea:hover, .model-situation textarea:focus { border-bottom-color:var(--border); outline:none; }
.model-retouch summary { cursor:pointer; font-size:14px; font-weight:600; color:var(--muted); }
.model-retouch-fields { display:grid; gap:10px; margin-top:12px; }
.model-retouch-fields label, .model-text-form label { display:grid; gap:4px; font-size:13px; font-weight:600; color:var(--muted); }
.model-retouch-fields input, .model-retouch-fields textarea, .model-text-form textarea, .model-dialog-search input { width:100%; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); padding:9px 11px; font:inherit; font-size:15px; font-weight:400; resize:vertical; }
.model-brand { display:flex; align-items:flex-start; gap:8px; font-size:14px; }
.model-brand[hidden] { display:none; }
.model-brand input { margin-top:3px; accent-color:var(--accent); }
.model-conflict { display:grid; gap:8px; padding:12px 14px; border:1px solid var(--danger-border); border-radius:12px; background:var(--danger-surface); color:var(--danger-text); font-size:14px; }
.model-conflict[hidden] { display:none; }
.model-conflict p { margin:0; }
.model-thread { list-style:none; display:grid; gap:8px; margin:0 0 14px; padding:0; }
.model-message { display:grid; gap:2px; max-width:88%; padding:10px 14px; border-radius:14px; font-size:15px; }
.model-message span { font-size:12px; font-weight:700; color:var(--muted); }
.model-message p { margin:0; white-space:pre-line; overflow-wrap:anywhere; }
.model-message.is-user { justify-self:end; background:var(--accent-glow); border-bottom-right-radius:4px; }
.model-message.is-ai { justify-self:start; background:var(--surface); border:1px solid var(--border); border-bottom-left-radius:4px; }
.model-message.is-failed { border-color:var(--danger-border); color:var(--danger-text); }
.model-dialog-note { margin:0 0 12px; font-size:14px; color:var(--muted); }
.model-pending { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.model-pending[hidden], .model-thread[hidden], .model-result[hidden] { display:none; }
.model-pending p { margin:0; font-weight:600; }

.model-composer { display:grid; gap:10px; padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.model-composer > label { font-size:17px; font-weight:700; }
.model-composer textarea { width:100%; border:1px solid var(--border); border-radius:12px; background:var(--background); color:var(--text); padding:12px 14px; font:inherit; font-size:16px; line-height:1.5; resize:vertical; }
.model-composer textarea:focus, .model-retouch-fields :is(input,textarea):focus, .model-text-form textarea:focus, .model-dialog-search input:focus { outline:2px solid var(--focus); outline-offset:1px; }
.model-chips { display:flex; flex-wrap:wrap; gap:6px; }
.model-chips:empty { display:none; }
.model-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:5px 6px 5px 11px; border:1px solid var(--border); border-radius:999px; background:var(--surface-raised); font-size:13px; }
.model-chip span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-chip button { flex:none; width:24px; height:24px; border:0; border-radius:50%; background:none; color:var(--muted); cursor:pointer; }
.model-chip button:hover { background:var(--border); color:var(--text); }
.model-composer-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.model-attach { display:flex; flex-wrap:wrap; gap:6px; }
.model-chip-button { display:inline-flex; align-items:center; gap:4px; min-height:36px; padding:0 12px; border:1px solid var(--border); border-radius:999px; background:none; color:var(--text); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.model-chip-button:hover { border-color:var(--accent); }
.model-chip-button:focus-within { outline:2px solid var(--focus); outline-offset:2px; }
.model-composer :disabled { cursor:not-allowed; opacity:.6; }

.model-dialog { width:min(560px, calc(100vw - 32px)); max-height:min(640px, calc(100vh - 32px)); padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--text); }
.model-dialog::backdrop { background:rgba(0,0,0,.45); }
.model-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 12px; }
.model-dialog-head h2 { margin:0; font-size:18px; }
.model-dialog-search { display:flex; gap:8px; margin:0 0 12px; }
.model-mail-list { display:grid; gap:6px; }
.model-mail-list button { display:grid; gap:2px; width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:none; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.model-mail-list button:hover { border-color:var(--accent); }
.model-mail-list strong { font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-mail-list span { font-size:13px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-text-form { display:grid; gap:12px; }
.model-kind { display:flex; gap:16px; font-size:14px; }
.model-kind input { accent-color:var(--accent); }

/* Library grid: Campagne × stage, one primary model per cell. */
.model-star { color:#c98a00; }
.model-card-tags, .model-tags { font-size:12px; font-weight:700; letter-spacing:.02em; color:var(--muted); }
.model-tags { margin:0; }
.model-grid { display:grid; gap:8px; }
.model-grid-head { display:none; }
.model-grid-row { display:grid; gap:6px; padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.model-grid-row.is-inactive { opacity:.7; }
.model-grid-target { font-weight:700; }
.model-grid-cell { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; min-width:0; font-size:14px; }
.model-grid-cell a { color:var(--text); font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.model-grid-cell a:hover { color:var(--accent-text); text-decoration:underline; }
.model-grid-cell form { margin:0; }
.model-grid-cell.is-empty > span:not(.model-grid-stage), .model-grid-cell.is-other > span:not(.model-grid-stage) { color:var(--muted); }
.model-grid-stage { flex:none; width:118px; font-size:12px; font-weight:700; color:var(--muted); }
.model-grid-more { font-size:12px; font-weight:600 !important; color:var(--muted) !important; }
@media(min-width:1000px) {
 .model-grid { gap:0; border:1px solid var(--border); border-radius:14px; overflow:hidden; background:var(--surface); }
 .model-grid-head, .model-grid-row { display:grid; grid-template-columns:minmax(150px,1.1fr) repeat(3,minmax(0,1fr)) minmax(90px,.6fr); gap:0; }
 .model-grid-head span { padding:10px 12px; font-size:12px; font-weight:700; color:var(--muted); background:var(--surface-raised); }
 .model-grid-row { padding:0; border:0; border-top:1px solid var(--border); border-radius:0; }
 .model-grid-target, .model-grid-cell { padding:12px; border-left:1px solid var(--border); }
 .model-grid-target { border-left:0; }
 .model-grid-stage { display:none; }
 .model-grid-cell { flex-direction:column; align-items:flex-start; }
}
.model-filing { display:flex; flex-wrap:wrap; gap:10px 16px; }
.model-filing label { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); font-weight:600; }
.model-filing select { max-width:220px; border:1px solid var(--border); border-radius:8px; background:var(--background); color:var(--text); padding:6px 8px; font:inherit; font-size:14px; }
/* « L’IA travaille »: the same three soft dots on every page where the AI is working (owner request, 12 October 2026). */
.ai-working { display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--text); }
.ai-working-dots { display:inline-flex; align-items:center; gap:4px; padding:6px 9px; border-radius:999px; background:var(--accent-glow); }
.ai-working-dots i { width:6px; height:6px; border-radius:50%; background:var(--accent); opacity:.35; animation:ai-working-dot 1.2s ease-in-out infinite; }
.ai-working-dots i:nth-child(2) { animation-delay:.15s; } .ai-working-dots i:nth-child(3) { animation-delay:.3s; }
.ai-working.is-compact { gap:6px; font-weight:inherit; color:inherit; }
.ai-working.is-compact .ai-working-dots { padding:3px 6px; gap:3px; } .ai-working.is-compact .ai-working-dots i { width:4px; height:4px; }
.ai-working.is-on-button .ai-working-dots { background:rgba(255,255,255,.22); } .ai-working.is-on-button .ai-working-dots i { background:currentColor; }
@keyframes ai-working-dot { 0%, 80%, 100% { opacity:.3; transform:translateY(0); } 40% { opacity:1; transform:translateY(-3px); } }
.model-pending p { display:grid; gap:4px; } .model-pending small { color:var(--muted); font-weight:400; font-size:13px; }
.agent-mission.is-working { color:var(--text); }
@media (prefers-reduced-motion: reduce) { .ai-working-dots i { animation:none; opacity:.8; } }
/* Accueil « Bien démarrer »: three stages, one next action, the full checklist folded in a native disclosure. */
.onboarding { display:grid; gap:16px; margin:0 0 24px; padding:22px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); min-width:0; }
.onboarding-stages { list-style:none; display:flex; flex-wrap:wrap; gap:6px 18px; margin:0; padding:0; font-size:13px; font-weight:700; color:var(--muted); }
.onboarding-stage { display:flex; align-items:center; gap:8px; min-width:0; }
.onboarding-stage.is-current { color:var(--text); }
.onboarding-stage .onboarding-mark { width:24px; height:24px; font-size:12px; }
.onboarding-stage.is-current .onboarding-mark { background:var(--accent); color:#ffffff; }
.onboarding-stage.is-done .onboarding-mark { background:var(--state-active-surface); color:var(--state-active-text); }
.onboarding-lead-block { display:grid; gap:6px; min-width:0; }
.onboarding-overline { margin:0; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.onboarding-title { margin:0; font-size:20px; line-height:1.25; letter-spacing:-.01em; overflow-wrap:anywhere; }
.onboarding-lead-block p { margin:0; }
.onboarding-lead { color:var(--muted); font-size:15px; }
.onboarding-status, .onboarding-note { font-size:14px; }
.onboarding-note { color:var(--muted); }
.onboarding-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.onboarding-switch { margin:0; }
.onboarding-checklist { border-top:1px solid var(--border); padding-top:12px; }
.onboarding-checklist > summary { cursor:pointer; width:fit-content; font-size:14px; font-weight:700; color:var(--muted); border-radius:6px; }
.onboarding-checklist[open] > summary { margin-bottom:12px; }
.onboarding-steps { list-style:none; display:grid; gap:8px; margin:0; padding:0; }
.onboarding-step { display:flex; align-items:center; gap:14px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; min-width:0; }
.onboarding-step.is-next { border-color:var(--accent); background:var(--accent-glow); }
.onboarding-step.is-done { border-color:transparent; background:var(--surface-raised); }
.onboarding-mark { flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--surface-raised); color:var(--muted); font-size:13px; font-weight:800; }
.onboarding-step.is-next .onboarding-mark { background:var(--accent); color:#ffffff; }
.onboarding-step.is-done .onboarding-mark { background:var(--state-active-surface); color:var(--state-active-text); }
.onboarding-text { display:grid; gap:2px; flex:1; min-width:0; overflow-wrap:anywhere; }
.onboarding-text strong { font-size:15px; }
.onboarding-step.is-done .onboarding-text strong { color:var(--muted); font-weight:600; }
.onboarding-text small { color:var(--muted); font-size:13px; }
.onboarding-item-action { display:flex; align-items:center; gap:10px; flex:none; }
.onboarding-done { color:var(--state-active-text); font-size:13px; font-weight:700; }
.onboarding-wait { color:var(--muted); font-size:13px; }
@media(max-width:600px) { .onboarding { padding:16px; } .onboarding-title { font-size:18px; } .onboarding-actions > .button, .onboarding-switch, .onboarding-switch .button { width:100%; justify-content:center; } .onboarding-step { flex-wrap:wrap; } .onboarding-text { flex-basis:calc(100% - 42px); } .onboarding-item-action { margin-left:42px; } }
/* Campaign state: green « Active », amber « En pause », grey « Archivée », the same everywhere. */
.campaign-state { display:inline-flex; align-items:center; gap:5px; padding:2px 9px; border-radius:999px; font-size:12px; font-weight:700; line-height:1.5; letter-spacing:0; text-transform:none; white-space:nowrap; vertical-align:middle; }
.campaign-state::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.campaign-state.is-active { background:var(--state-active-surface); color:var(--state-active-text); }
.campaign-state.is-paused { background:var(--state-paused-surface); color:var(--state-paused-text); }
.campaign-state.is-archived { background:var(--surface-raised); color:var(--muted); }
.campaign-select { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; max-width:100%; min-width:0; }
.campaign-select > select { min-width:0; max-width:100%; }
.campaign-select-states .campaign-state { display:none; }
.campaign-select:has(option:checked[data-state="active"]) .campaign-state[data-for="active"],
.campaign-select:has(option:checked[data-state="paused"]) .campaign-state[data-for="paused"],
.campaign-select:has(option:checked[data-state="archived"]) .campaign-state[data-for="archived"] { display:inline-flex; }
.campaign-select.is-enhanced { position:relative; }
.campaign-select.is-enhanced > select { position:absolute; left:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; }
.campaign-select.is-enhanced > .campaign-select-states { display:none; }
.campaign-picker { display:inline-flex; align-items:center; justify-content:space-between; gap:10px; min-width:220px; max-width:100%; padding:8px 34px 8px 12px; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); font:inherit; font-size:15px; font-weight:600; text-align:left; cursor:pointer; position:relative; }
.campaign-picker::after { content:""; position:absolute; right:13px; top:50%; width:7px; height:7px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:translateY(-70%) rotate(45deg); }
.campaign-picker:hover { border-color:var(--accent); }
.campaign-picker:focus-visible { outline:2px solid var(--focus); outline-offset:1px; }
.campaign-picker.is-invalid { border-color:var(--danger-text); }
.campaign-picker-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.campaign-picker-menu { position:absolute; top:calc(100% + 6px); left:0; z-index:60; min-width:100%; max-width:min(420px, calc(100vw - 32px)); max-height:300px; overflow:auto; margin:0; padding:6px; list-style:none; border:1px solid var(--border); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.campaign-picker-menu[hidden] { display:none; }
.campaign-picker-menu [role="option"] { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 10px; border-radius:8px; font-size:15px; cursor:pointer; outline:none; }
.campaign-picker-menu [role="option"]:hover, .campaign-picker-menu [role="option"]:focus { background:var(--surface-raised); }
.campaign-picker-menu [aria-selected="true"] { font-weight:700; }
.model-field .campaign-select, .model-field .campaign-picker { display:flex; width:100%; }
.model-actions-dialog { overflow:visible; }
/* Creation: choice, email picker and guided questions. */
.model-start { display:grid; gap:14px; }
@media(min-width:760px) { .model-start { grid-template-columns:1fr 1fr; } }
.model-start-card { display:grid; align-content:start; gap:8px; padding:22px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--text); text-decoration:none; }
a.model-start-card:hover { border-color:var(--accent); box-shadow:var(--shadow); }
.model-start-card strong { font-size:18px; }
.model-start-card > span:not(.model-empty-icon):not(.model-start-go) { color:var(--muted); font-size:15px; line-height:1.45; }
.model-start-card.is-disabled { opacity:.75; }
.model-start-go { display:inline-flex; align-items:center; gap:6px; margin-top:6px; color:var(--accent-text); font-weight:700; font-size:15px; }
.model-hint { margin:0 0 14px; padding:12px 14px; border-radius:12px; background:var(--accent-glow); font-size:14px; overflow-wrap:anywhere; }
.model-create-form { display:grid; gap:18px; }
.model-fieldset { display:grid; gap:12px; margin:0; padding:0; border:0; min-width:0; }
.model-fieldset[hidden] { display:none; }
.model-fieldset legend { padding:0; margin:0 0 4px; font-size:18px; font-weight:700; }
.model-pick-list { list-style:none; display:grid; gap:8px; margin:0; padding:0; max-height:min(60vh,560px); overflow:auto; }
.model-pick { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); cursor:pointer; }
.model-pick:has(input:checked), .model-option:has(input:checked) { border-color:var(--accent); background:var(--accent-glow); }
.model-pick input, .model-option input { margin-top:4px; accent-color:var(--accent); }
.model-pick-body { display:grid; gap:2px; min-width:0; }
.model-pick-body strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-pick-body small { color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.model-pick-snippet { color:var(--muted); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-options { display:grid; gap:8px; }
@media(min-width:760px) { .model-options { grid-template-columns:1fr 1fr; } }
.model-option { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); cursor:pointer; }
.model-option span { display:grid; gap:2px; }
.model-option small { color:var(--muted); font-size:14px; }
.model-field { display:grid; gap:6px; font-size:14px; font-weight:600; color:var(--muted); }
.model-field[hidden] { display:none; }
.model-field small { font-weight:400; }
.model-field :is(input:not([type="file"]),select,textarea) { width:100%; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); padding:10px 12px; font:inherit; font-size:16px; }
.model-guide-logo { max-width:160px; max-height:64px; object-fit:contain; }
.model-guide-progress { display:grid; gap:6px; font-size:13px; font-weight:700; color:var(--muted); }
.model-guide-progress[hidden] { display:none; }
.model-guide-bar { display:block; height:6px; border-radius:999px; background:var(--surface-raised); overflow:hidden; }
.model-guide-bar span { display:block; height:100%; width:20%; background:var(--accent); border-radius:999px; }
.model-guide-help { margin:0; color:var(--muted); font-size:14px; }
.model-guide-nav { display:flex; justify-content:space-between; gap:10px; }
.model-guide-nav [data-guide-next], .model-guide-nav [data-guide-submit] { margin-left:auto; }
.model-guide-nav [hidden] { display:none; }
/* Library: one section per Campagne, each model a small email preview. */
.model-campaign { margin:0 0 34px; }
.model-campaign-head { display:flex; align-items:baseline; gap:10px; margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.model-campaign-head h2 { margin:0; font-size:19px; font-weight:700; letter-spacing:-.01em; }
.model-campaign-note { padding:2px 9px; border-radius:999px; background:var(--surface-raised); color:var(--muted); font-size:12px; font-weight:700; }
.model-campaign-count { margin-left:auto; color:var(--muted); font-size:13px; }
.model-gallery { list-style:none; display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; margin:0; padding:0; }
.model-tile { display:grid; gap:3px; color:var(--text); text-decoration:none; }
.model-tile-mail { display:grid; align-content:start; gap:8px; height:150px; padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:0 1px 2px rgba(0,0,0,.04); overflow:hidden; }
.model-tile:hover .model-tile-mail, .model-tile:focus-visible .model-tile-mail { border-color:var(--accent); box-shadow:var(--shadow); }
.model-tile-subject { font-size:13px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-tile-body { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; line-height:1.55; color:var(--muted); }
.model-tile-name { display:flex; align-items:center; gap:6px; margin-top:8px; font-size:15px; font-weight:600; min-width:0; }
.model-tile-name, .model-tile-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.model-tile-label { min-width:0; }
.model-tile-dot { flex:none; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.model-tile-tag { font-size:13px; color:var(--muted); }
.model-tile.is-new .model-tile-mail { place-items:center; align-content:center; justify-content:center; border:1.5px dashed var(--border); background:none; box-shadow:none; color:var(--muted); }
.model-tile.is-new:hover .model-tile-mail { border-color:var(--accent); color:var(--accent-text); box-shadow:none; }
.model-tile.is-new .model-tile-mail svg { width:26px; height:26px; }
.model-tile.is-new .model-tile-name { color:var(--muted); font-weight:600; }
.model-tile.is-draft .model-tile-mail { border-style:dashed; background:none; box-shadow:none; }
.model-gallery-empty { margin:0; color:var(--muted); }
.model-tile-item { position:relative; min-width:0; }
.model-tile-item[draggable="true"] { cursor:grab; }
.model-tile-item.is-dragging { opacity:.45; }
.model-tile-menu { position:absolute; top:8px; right:8px; width:30px; height:30px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--muted); font:inherit; font-size:16px; line-height:1; cursor:pointer; opacity:0; }
.model-tile-item:hover .model-tile-menu, .model-tile-menu:focus-visible { opacity:1; }
.model-tile-menu:hover { color:var(--text); border-color:var(--accent); }
@media(hover:none) { .model-tile-menu { opacity:1; } }
.model-campaign.is-drop .model-gallery { outline:2px dashed var(--accent); outline-offset:8px; border-radius:16px; }
.model-actions-dialog { display:grid; gap:14px; }
.model-actions-dialog:not([open]) { display:none; }
.model-actions-dialog h2 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.model-dialog-form { display:grid; gap:12px; }
.model-dialog-form[hidden], .model-dialog-delete[hidden], .model-dialog-question[hidden], .model-field[hidden] { display:none; }
.model-dialog-question { margin:0; font-size:15px; }
.model-dialog-delete { padding-top:12px; border-top:1px solid var(--border); }
.model-dialog-close { display:flex; justify-content:flex-end; }
.model-link-button.is-danger { color:var(--danger-text); }
.model-file { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; padding-top:12px; border-top:1px solid var(--border); font-size:14px; }
.model-file label { display:flex; flex-wrap:wrap; min-width:0; max-width:100%; align-items:center; gap:8px; color:var(--muted); font-weight:600; }
.model-file select { max-width:220px; border:1px solid var(--border); border-radius:8px; background:var(--background); color:var(--text); padding:6px 8px; font:inherit; font-size:14px; }
.model-archived { margin:0 0 24px; }
.model-archived > summary { cursor:pointer; color:var(--muted); font-size:14px; font-weight:600; margin:0 0 18px; }
.model-archived .model-campaign { opacity:.75; }
@media(max-width:600px) { .model-gallery { grid-template-columns:1fr 1fr; gap:12px; } .model-tile-mail { height:120px; padding:12px; } .model-tile-body { -webkit-line-clamp:3; } .model-campaign-head h2 { font-size:17px; } }
/* Studio: result first, AI shortcuts, before/after comparison. */
.model-failed { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; padding:14px 16px; border:1px solid var(--danger-border); border-radius:14px; background:var(--danger-surface); color:var(--danger-text); }
.model-failed[hidden], .model-original[hidden], .model-composer[hidden] { display:none; }
.model-failed p { margin:0; font-weight:600; }
.model-ai-note { margin:0; font-size:14px; color:var(--muted); }
.model-compare { display:grid; gap:12px; }
@media(min-width:1000px) { .model-compare.has-original { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); } }
.model-original { padding:14px; border:1px dashed var(--border); border-radius:12px; max-height:520px; overflow:auto; }
.model-original h2 { margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.model-original p { margin:0; font-size:14px; white-space:pre-line; overflow-wrap:anywhere; }
.model-adjust { display:grid; gap:10px; padding:14px; border-radius:12px; background:var(--surface-raised); }
.model-adjust-title { margin:0; font-weight:700; }
.model-adjust-form { display:flex; gap:8px; }
.model-adjust-form input { flex:1; min-width:0; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); padding:9px 11px; font:inherit; font-size:16px; }
.model-adjust :disabled { cursor:not-allowed; opacity:.6; }
.model-next { display:grid; gap:10px; margin:0 0 18px; padding:16px 18px; border:1px solid var(--accent); border-radius:var(--radius); background:var(--accent-glow); }
.model-next h2 { margin:0; font-size:17px; }
.model-next p { margin:0; font-size:15px; }
/* Signature editor: a checkbox per optional part, live preview beside the form. */
.signature-form { display:grid; gap:14px; }
.signature-layout { display:grid; gap:16px; }
.signature-layout[hidden] { display:none; }
.signature-fields { display:grid; gap:8px; }
.signature-name { display:grid; gap:4px; font-size:14px; font-weight:700; }
.signature-name small { font-weight:400; color:var(--muted); }
.signature-row { display:grid; gap:6px; padding:6px 0; border-bottom:1px solid var(--border); }
.signature-check, .signature-toggle { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; cursor:pointer; }
.signature-check input, .signature-toggle input { width:18px; height:18px; accent-color:var(--accent); }
.signature-input { width:100%; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); padding:9px 11px; font:inherit; font-size:15px; }
.signature-input[hidden] { display:none; }
.signature-input:focus { outline:2px solid var(--focus); outline-offset:1px; }
.signature-hint, .signature-note { margin:0; font-size:13px; color:var(--muted); }
.signature-check.is-muted { cursor:default; color:var(--muted); }
.signature-row:has(.signature-logo-thumb) { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.signature-logo-thumb { height:28px; width:auto; max-width:120px; object-fit:contain; border-radius:4px; background:#ffffff; padding:3px 6px; border:1px solid var(--border); }
/* Réglages › Logo et signature: two cards, logo first. */
.identity-page { display:grid; gap:18px; }
.identity-card { display:grid; gap:14px; padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.identity-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.identity-head h2 { margin:0; font-size:18px; }
.identity-logo { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.identity-logo-frame { display:grid; place-items:center; width:200px; height:96px; padding:12px; border:1px dashed var(--border); border-radius:12px; background:#ffffff; color:#8a8279; font-size:13px; }
.identity-logo-frame img { max-width:100%; max-height:56px; width:auto; height:auto; object-fit:contain; }
.identity-logo-text { display:grid; gap:8px; flex:1; min-width:220px; }
.identity-logo-text p { margin:0; font-size:14px; color:var(--muted); }
.identity-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.identity-actions form { margin:0; }
.identity-upload label { cursor:pointer; }
.identity-more summary { cursor:pointer; font-size:14px; font-weight:600; color:var(--muted); }
.identity-campaigns { list-style:none; display:grid; gap:8px; margin:12px 0 0; padding:0; }
.identity-campaigns li { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.identity-campaigns a { font-weight:600; color:var(--text); }
.identity-campaign-note { margin-left:auto; font-size:13px; color:var(--muted); }
/* Studio: logo and signature switches under the preview. */
.model-switches { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
.model-switch { display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:600; cursor:pointer; }
.model-switch input { appearance:none; position:relative; width:38px; height:22px; margin:0; border-radius:999px; background:var(--border); cursor:pointer; flex:none; }
.model-switch input::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#ffffff; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.model-switch input:checked { background:var(--accent); }
.model-switch input:checked::after { left:19px; }
.model-switch input:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.model-switch input:disabled { opacity:.5; cursor:not-allowed; }
.model-switch-link { font-size:13px; color:var(--accent-text); }
.model-guide-help img.model-guide-logo { height:28px; width:auto; vertical-align:middle; margin-right:6px; }
.signature-logo { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.signature-logo[hidden] { display:none; }
.signature-logo img { width:48px; height:48px; object-fit:contain; border:1px solid var(--border); border-radius:10px; background:#ffffff; padding:4px; }
.signature-logo img[hidden] { display:none; }
.signature-logo .signature-hint { flex-basis:100%; }
.signature-preview { align-self:start; }
.signature-preview-title { margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.signature-preview iframe { display:block; width:100%; height:160px; border:1px solid var(--border); border-radius:12px; background:#ffffff; }
.signature-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.profile-signature { margin-top:28px; padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.profile-signature h2 { margin:0 0 12px; font-size:18px; }
.profile-codes { margin-top:28px; padding:20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.profile-codes h2 { margin:0 0 12px; font-size:18px; }
.codes-group { margin:12px 0; padding:0; border:0; }
.codes-group legend { font-weight:600; margin-bottom:6px; }
.code-item { display:flex; align-items:baseline; gap:8px; padding:4px 0; }
.code-item code { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.codes-again { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin-top:12px; }
.codes-again label { flex-basis:100%; font-size:14px; }
.codes-again input { flex:1 1 220px; min-width:0; }
@media(min-width:900px) {
 .signature-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
 .signature-preview { position:sticky; top:16px; }
}
/* Studio: conversation and preview side by side on wide screens, tabs on smaller ones. */
.model-studio-workspace { max-width:1400px; }
.model-tabs { position:sticky; top:0; z-index:5; display:flex; gap:4px; margin:0 0 12px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-translucent); backdrop-filter:blur(12px); }
.model-tabs button { flex:1; min-height:38px; border:0; border-radius:9px; background:none; color:var(--muted); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.model-tabs button[aria-selected="true"] { background:var(--accent-glow); color:var(--accent-text); }
.model-layout { display:block; }
.model-studio[data-tab="chat"] [data-pane="preview"], .model-studio[data-tab="preview"] [data-pane="chat"] { display:none; }
.model-chat { display:flex; flex-direction:column; min-width:0; }
.model-composer, .model-composer > *, .model-composer-bar, .model-side { min-width:0; }
.model-chat .model-thread { margin-bottom:12px; }
.model-chat .model-composer { position:sticky; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:4; }
.model-chat .model-composer textarea { min-height:72px; }
.model-preview-empty { margin:0; padding:48px 16px; border:1px dashed var(--border); border-radius:var(--radius); text-align:center; color:var(--muted); }
.model-preview-empty[hidden] { display:none; }
.model-side .model-result { margin:0; }
@media(min-width:800px) {
 .model-chat .model-composer { bottom:16px; }
}
@media(max-width:999px) {
 .model-chat .model-composer { gap:8px; padding:12px; }
 .model-chat .model-composer > label { font-size:15px; }
 .model-chat .model-composer textarea { height:60px; min-height:60px; font-size:16px; }
 .model-chat .model-chips, .model-chat .model-attach { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
 .model-chat .model-chip { flex:none; max-width:220px; }
 .model-chat .model-composer-bar { flex-wrap:nowrap; }
 .model-chat .model-attach { flex:1; min-width:0; }
 .model-chat .model-chip-button { flex:none; min-height:34px; padding:0 10px; font-size:13px; }
 .model-chat .model-composer-bar [data-submit] { width:auto; flex:none; min-height:40px; padding:0 16px; }
}
@media(min-width:1000px) {
 .model-tabs { display:none; }
 .model-layout { display:grid; grid-template-columns:minmax(320px, 1fr) minmax(0, 1.35fr); gap:24px; align-items:start; }
 .model-studio[data-tab] [data-pane] { display:flex; }
 .model-studio[data-tab] .model-side { display:block; }
 .model-chat { position:sticky; top:16px; height:calc(100vh - 128px); min-height:520px; }
 .model-chat .model-thread { flex:1; min-height:0; overflow-y:auto; align-content:start; padding-right:4px; }
 .model-chat .model-pending { flex:none; }
 .model-chat .model-composer { position:static; flex:none; box-shadow:none; gap:8px; padding:14px; }
 .model-chat .model-composer > label { font-size:15px; }
 .model-chat .model-composer textarea { min-height:64px; }
 .model-chat .model-chip-button { min-height:32px; padding:0 10px; font-size:13px; }
 .model-chat .model-chips { max-height:76px; overflow-y:auto; }
 .model-side { position:sticky; top:16px; max-height:calc(100vh - 128px); overflow-y:auto; border-radius:var(--radius); }
 .model-thread[hidden] { display:grid; visibility:hidden; }
}
@media(max-width:700px) {
 .model-view, .model-result, .model-composer { padding:14px; }
 .model-name input { font-size:19px; }
 .model-dialog-search { flex-direction:column; }
}
/* Unified studio (20 October 2026): compact bar, editing column beside the preview, Modifier / Aperçu tabs below 1000 px. */
.model-workbench { gap:16px; min-width:0; grid-template-columns:minmax(0,1fr); }
.model-bar { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; min-width:0; padding-bottom:12px; border-bottom:1px solid var(--border); }
.model-bar .model-name { min-width:0; }
.model-panes { display:grid; gap:20px; min-width:0; }
.model-panes > * { min-width:0; }
.model-edit-pane, .model-preview-pane { display:grid; gap:16px; align-content:start; }
.model-preview-pane { gap:8px; }
.model-editor { display:grid; gap:12px; min-width:0; margin:0; padding:0; border:0; }
.model-editor:disabled { opacity:.7; }
.model-pane-title, .model-presentation h2 { margin:0; padding:0; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.model-edit-field, .model-block label { display:grid; gap:4px; min-width:0; font-size:13px; font-weight:600; color:var(--muted); }
.model-edit-field input, .model-block :is(input,textarea,select) { width:100%; min-width:0; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); padding:9px 11px; font:inherit; font-size:16px; font-weight:400; line-height:1.5; }
.model-block textarea { resize:vertical; field-sizing:content; min-height:3.4em; }
.model-edit-field input:focus, .model-block :is(input,textarea,select):focus { outline:2px solid var(--focus); outline-offset:1px; }
.model-insert { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--muted); }
.model-insert .model-chip-button { min-height:36px; font-size:13px; }
.model-chip-button:focus-visible, .model-link-button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.model-blocks { list-style:none; display:grid; gap:10px; margin:0; padding:0; }
.model-block { display:grid; gap:8px; min-width:0; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.model-block.is-fixed { border-style:dashed; background:var(--surface-raised); }
.model-block-kind { margin:0; font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); }
.model-block-note { margin:0; font-size:13px; color:var(--muted); }
.model-image { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
.model-image-thumb { flex:none; width:96px; height:72px; object-fit:contain; border:1px solid var(--border); border-radius:8px; background:#ffffff; }
.model-image-thumb.is-empty { display:grid; place-items:center; color:#8a8279; font-size:12px; }
.model-image-fields { display:grid; flex:1 1 180px; gap:8px; min-width:0; }
.model-block-tools { display:flex; flex-wrap:wrap; gap:2px 16px; }
.model-block-tools .model-link-button { min-height:36px; }
.model-block-tools :disabled { opacity:.4; cursor:default; }
.model-add-image { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.model-add-image [hidden] { display:none; }
.model-hint-small { margin:0; font-size:12px; color:var(--muted); }
.model-presentation { display:grid; gap:10px; padding:14px; border:1px solid var(--border); border-radius:12px; }
.model-ai-panel { border:1px solid var(--border); border-radius:12px; background:var(--surface-raised); }
.model-ai-panel > summary { padding:12px 14px; font-weight:700; cursor:pointer; border-radius:12px; }
.model-ai-panel > summary:focus-visible, .model-retouch > summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.model-ai-body { display:grid; gap:10px; padding:0 14px 14px; }
.model-ai-body > p { margin:0; font-size:14px; }
.model-ai-body :disabled { cursor:not-allowed; opacity:.6; }
.model-ai-change { display:grid; gap:8px; padding:12px 14px; border:1px solid var(--accent); border-radius:12px; background:var(--accent-glow); }
.model-ai-change[hidden], .model-diff[hidden] { display:none; }
.model-ai-change-title { margin:0; font-weight:700; }
.model-diff { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.model-diff li { padding:2px 10px; border-radius:999px; background:var(--surface); font-size:13px; font-weight:600; }
.model-ai-change [data-undo] { justify-self:start; }
.model-ai-change [data-undo][hidden] { display:none; }
.model-save-bar { display:grid; gap:8px; padding-top:12px; border-top:1px solid var(--border); }
.model-save-note { margin:0; font-size:13px; color:var(--muted); }
/* « Tester ce modèle »: a small block under the preview, not another card of content. */
.model-test { display:grid; gap:8px; margin-top:8px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.model-test-title { margin:0; font-size:14px; font-weight:700; letter-spacing:-.01em; }
.model-test-form { display:grid; gap:6px; margin:0; }
.model-test-label { color:var(--muted); font-size:13px; font-weight:650; }
.model-test-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.model-test-row input { flex:1 1 13rem; min-width:0; min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; }
.model-test-row input:focus-visible { border-color:var(--accent); }
.model-test-row .button { flex:0 0 auto; }
.model-test-note { margin:0; color:var(--muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.model-test [data-test-thread] { justify-self:start; }
@media(max-width:420px) { .model-test-row .button { flex:1 1 100%; } }
.model-view-tabs { position:sticky; top:0; z-index:5; display:flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-raised); }
.model-view-tabs[hidden] { display:none; }
.model-view-tabs button { flex:1; min-height:44px; border:0; border-radius:9px; background:none; color:var(--muted); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.model-view-tabs button[aria-selected="true"] { background:var(--surface); color:var(--accent-text); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.model-view-tabs button:focus-visible { outline:2px solid var(--focus); outline-offset:1px; }
.model-preview-pane .model-compare.has-original { grid-template-columns:1fr; }
@media(max-width:999px) {
 .model-studio[data-view="edit"] [data-panel="preview"], .model-studio[data-view="preview"] [data-panel="edit"] { display:none; }
}
@media(min-width:1000px) {
 .model-view-tabs { display:none; }
 .model-bar { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
 .model-panes { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px; }
 .model-preview-pane { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow-y:auto; }
}
@media(max-width:700px) {
 .model-block { padding:10px; }
 .model-bar .model-filing label { display:grid; grid-template-columns:minmax(0,1fr); flex:1 1 100%; min-width:0; }
 .model-bar .campaign-select { min-width:0; max-width:100%; width:100%; }
 .model-filing select { max-width:none; flex:1; min-width:0; }
 .model-adjust-form { flex-direction:column; }
}
.outreach { display:grid; gap:16px; min-width:0; }
.outreach > *, .outreach-layout > *, .outreach-mail > * { min-width:0; }
.outreach-notice { margin:0 0 16px; padding:12px 16px; border:1px solid var(--border); border-radius:12px; background:var(--surface); font-size:14px; line-height:1.5; animation:outreach-in .35s ease both; }
.outreach-layout { display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); gap:20px; align-items:start; }
.outreach-queue { position:sticky; top:16px; max-height:calc(100vh - 140px); overflow-y:auto; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.outreach-queue ul { margin:0; padding:6px; list-style:none; display:grid; gap:2px; }
.outreach-queue li { transition:opacity .35s ease, transform .35s ease; }
.outreach-queue li.is-leaving { opacity:0; transform:translateX(-12px); }
.outreach-item { display:grid; gap:3px; padding:11px 12px; border-radius:10px; color:var(--text); text-decoration:none; transition:background .2s ease; }
.outreach-item:hover { background:var(--background); }
.outreach-item[aria-current] { background:var(--background); box-shadow:inset 3px 0 0 var(--accent); }
.outreach-item:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.outreach-item-name { font-weight:700; font-size:15px; }
.outreach-item-meta { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.outreach-item-open { display:none; }
.outreach-chip { display:inline-flex; align-items:center; gap:6px; justify-self:start; margin-top:3px; padding:2px 9px; border-radius:999px; font-size:12px; font-weight:650; background:var(--background); color:var(--muted); }
.outreach-chip[data-tone="ready"] { color:#1f7a3a; background:rgba(31,122,58,.1); }
.outreach-chip[data-tone="writing"] { color:var(--accent); background:rgba(214,0,0,.08); }
.outreach-pulse { width:7px; height:7px; border-radius:50%; background:currentColor; animation:outreach-pulse 1.2s ease-in-out infinite; }
.outreach-panels { min-width:0; }
.outreach-mail { display:grid; gap:14px; padding:22px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); animation:outreach-in .3s ease both; transition:opacity .45s ease, transform .45s ease; }
.outreach-mail[hidden] { display:none; }
.outreach-mail-head h2 { margin:2px 0 0; font-size:21px; }
.outreach-mail-head .overline { margin:0; }
.outreach-back { display:none; font-size:14px; color:var(--muted); text-decoration:none; }
.outreach-writing { display:grid; gap:6px; padding:12px 14px; border-radius:12px; background:rgba(214,0,0,.05); border:1px solid rgba(214,0,0,.15); }
.outreach-step { display:flex; align-items:center; gap:9px; margin:0; font-size:14px; color:var(--muted); }
.outreach-step[data-active="true"] { color:var(--text); font-weight:600; }
.outreach-step-dot { width:8px; height:8px; border-radius:50%; background:var(--border); }
.outreach-step[data-done="true"] .outreach-step-dot { background:#1f7a3a; }
.outreach-step[data-active="true"] .outreach-step-dot { background:var(--accent); animation:outreach-pulse 1.2s ease-in-out infinite; }
.outreach-dots { display:inline-flex; gap:3px; margin-left:2px; }
.outreach-dots span { width:4px; height:4px; border-radius:50%; background:currentColor; animation:outreach-dot 1.2s ease-in-out infinite; }
.outreach-dots span:nth-child(2) { animation-delay:.15s; }
.outreach-dots span:nth-child(3) { animation-delay:.3s; }
.outreach-envelope { display:grid; gap:0; margin:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.outreach-envelope div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:10px; padding:8px 2px; font-size:14px; }
.outreach-envelope div + div { border-top:1px solid var(--border); }
.outreach-envelope dt { color:var(--muted); }
.outreach-envelope dd { margin:0; overflow-wrap:anywhere; }
.outreach-preview { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#f6f4f1; }
.outreach-preview iframe { display:block; width:100%; height:420px; border:0; background:#ffffff; transition:height .25s ease; }
.outreach-hook-row { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; }
.outreach-toggle-form { margin:0; }
.outreach-toggle { display:inline-flex; align-items:center; gap:10px; padding:6px 2px; border:0; background:none; color:var(--text); font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.outreach-toggle:disabled { color:var(--muted); cursor:not-allowed; }
.outreach-switch { position:relative; width:38px; height:22px; border-radius:999px; background:var(--border); transition:background .25s ease; }
.outreach-switch::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#ffffff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .25s ease; }
.outreach-toggle[aria-checked="true"] .outreach-switch { background:var(--accent); }
.outreach-toggle[aria-checked="true"] .outreach-switch::after { transform:translateX(16px); }
.outreach-toggle:focus-visible { outline:2px solid var(--focus); outline-offset:3px; border-radius:8px; }
.outreach-source { font-size:13px; color:var(--muted); }
.outreach-source summary { cursor:pointer; }
.outreach-source p { margin:6px 0; line-height:1.5; }
.outreach-actions { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.outreach-actions form { margin:0; }
.outreach-send { min-width:140px; gap:8px; transition:transform .15s ease; }
.outreach-send:active { transform:scale(.97); }
.outreach-mail.is-editing .outreach-preview, .outreach-mail.is-editing .outreach-ask, .outreach-mail.is-editing .outreach-hook-row, .outreach-mail.is-editing .outreach-actions, .outreach-mail.is-editing .outreach-envelope-subject { display:none; }
.outreach-editor { display:grid; gap:0; border:1px solid var(--border); border-radius:12px; overflow:hidden; background:#ffffff; color:#1c1a1d; animation:outreach-in .25s ease both; }
.outreach-editor[hidden] { display:none; }
.outreach-editor-subject { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid #e6e1dc; background:#faf8f6; }
.outreach-editor-subject span { color:#6b6b6b; font-size:14px; }
.outreach-editor-subject input { width:100%; border:1px solid transparent; border-radius:8px; padding:8px 10px; background:#ffffff; color:#1c1a1d; font:inherit; font-size:15px; font-weight:600; transition:border-color .2s ease, box-shadow .2s ease; }
.outreach-editor-body { display:grid; gap:6px; padding:22px 26px 14px; font-family:Arial,Helvetica,sans-serif; }
.outreach-editor-text { display:block; width:100%; min-height:0; resize:none; overflow:hidden; border:1px solid transparent; border-radius:8px; padding:8px 10px; margin:0 -10px; background:transparent; color:#1c1a1d; font:inherit; font-size:16px; line-height:1.65; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.outreach-editor-text[data-kind="heading"] { font-size:23px; font-weight:700; line-height:1.3; }
.outreach-editor-text:hover { background:#faf8f6; }
.outreach-editor-text:focus, .outreach-editor-subject input:focus { outline:none; border-color:var(--accent); background:#ffffff; box-shadow:0 0 0 3px rgba(214,0,0,.12); }
.outreach-editor-text.is-hook { background:rgba(214,0,0,.05); border-left:3px solid var(--accent); border-radius:4px 8px 8px 4px; }
.outreach-editor-text::placeholder { color:#9a9a9a; }
.outreach-editor-fixed { margin:4px 0; color:#8a8580; font-size:14px; line-height:1.6; }
.outreach-editor-button { display:inline-block; padding:8px 14px; border-radius:6px; background:#ece8e4; color:#6b6b6b; font-weight:700; }
.outreach-editor-image { font-style:italic; }
.outreach-editor-divider { border:0; border-top:1px solid #e6e1dc; margin:8px 0; }
.outreach-editor-hint { margin:0; padding:0 26px 12px; color:#8a8580; font-size:12px; }
.outreach-editor-actions { display:flex; justify-content:flex-end; gap:10px; padding:12px 16px; border-top:1px solid #e6e1dc; background:#faf8f6; }
.outreach-ask { display:grid; gap:8px; margin:0; }
.outreach-ask-box { position:relative; display:flex; align-items:flex-end; gap:8px; padding:6px 6px 6px 14px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:0 1px 2px rgba(0,0,0,.04); transition:border-color .2s ease, box-shadow .2s ease; }
.outreach-ask-box:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(214,0,0,.12); }
.outreach-ask-box textarea { flex:1; min-height:24px; max-height:160px; resize:none; overflow-y:auto; border:0; padding:8px 0; background:transparent; color:var(--text); font:inherit; font-size:15px; line-height:1.5; }
.outreach-ask-box textarea:focus { outline:none; }
.outreach-ask-box textarea::placeholder { color:var(--muted); }
.outreach-ask-send { flex:none; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:10px; background:var(--accent); color:#ffffff; font-size:18px; font-weight:700; cursor:pointer; transition:transform .15s ease, opacity .2s ease; }
.outreach-ask-send:hover { transform:translateY(-1px); }
.outreach-ask-send:disabled, .outreach-ask-box textarea:disabled { opacity:.45; cursor:not-allowed; }
.outreach-presets { display:flex; flex-wrap:wrap; gap:6px; }
.outreach-preset { min-height:30px; padding:0 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background .2s ease, border-color .2s ease; }
.outreach-preset:hover { border-color:var(--accent); background:rgba(214,0,0,.05); }
.outreach-preset:disabled { opacity:.45; cursor:not-allowed; }
.outreach-mail.is-refreshed .outreach-preview { animation:outreach-refresh 1.4s ease; }
@keyframes outreach-refresh { 0% { box-shadow:0 0 0 0 rgba(214,0,0,.35); } 100% { box-shadow:0 0 0 14px rgba(214,0,0,0); } }
.outreach-note { margin:0; color:var(--muted); font-size:13px; }
.outreach-error { margin:0; color:var(--danger-text); font-size:14px; }
.outreach-mail.is-sending { opacity:.7; }
.outreach-confirm[open] { animation:outreach-confirm-in .18s ease-out; }
.outreach-confirm[open]::backdrop { backdrop-filter:blur(2px); animation:outreach-fade .18s ease-out; }
.outreach-confirm-summary { display:grid; gap:8px; margin:0 0 16px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--background); }
.outreach-confirm-summary div { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px; }
.outreach-confirm-summary dt { color:var(--muted); font-size:13px; }
.outreach-confirm .button-primary { gap:6px; }
.outreach-confirm-summary dd { margin:0; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
@keyframes outreach-confirm-in { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes outreach-fade { from { opacity:0; } to { opacity:1; } }
.outreach-mail.is-sent { position:relative; opacity:0; transform:translateX(24px); transition-delay:.35s; }
.outreach-mail.is-sent::after { content:attr(data-sent-label); position:absolute; inset:0; display:grid; place-items:center; border-radius:var(--radius); background:var(--surface); color:#1f7a3a; font-size:22px; font-weight:700; animation:outreach-in .25s ease both; }
.outreach-mail.is-discarded { opacity:0; transform:scale(.98); }
.filter-count.is-bumped { animation:outreach-bump .5s ease; }
.prospect-row { transition:opacity .45s ease, transform .45s ease; }
.prospect-row.is-accepted { opacity:0; transform:translateX(40px); }
.outreach-stages { display:flex; flex-wrap:wrap; gap:6px; }
.outreach-stages a { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 12px; border:1px solid var(--border); border-radius:999px; color:var(--muted); font-size:13px; font-weight:650; text-decoration:none; background:var(--surface); transition:background .2s ease, color .2s ease; }
.outreach-stages a span { font-variant-numeric:tabular-nums; opacity:.7; }
.outreach-stages a[aria-current] { background:var(--text); color:var(--surface); border-color:var(--text); }
.outreach-unprepared { padding:16px 18px; border:1px dashed var(--border); border-radius:var(--radius); background:var(--surface); animation:outreach-in .3s ease both; }
.outreach-unprepared-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.outreach-unprepared-head h2 { margin:0; font-size:16px; }
.outreach-unprepared-head form { margin:0; }
.outreach-unprepared ul { display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.outreach-candidate { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"name action" "meta action"; column-gap:12px; padding:9px 4px; border-top:1px solid var(--border); }
.outreach-candidate:target { background:rgba(214,0,0,.05); }
.outreach-candidate:first-child { border-top:0; }
.outreach-candidate .outreach-item-name { grid-area:name; }
.outreach-candidate .outreach-item-meta { grid-area:meta; }
.outreach-candidate > form, .outreach-candidate > .outreach-chip { grid-area:action; align-self:center; margin:0; }
.outreach-chip[data-tone="blocked"] { color:var(--muted); background:var(--background); text-decoration:none; }
.outreach-chip[data-tone="todo"] { color:var(--accent); background:rgba(214,0,0,.08); }
.outreach-chip-button { border:0; font:inherit; font-size:12px; font-weight:650; cursor:pointer; }
.outreach-chip-button:hover { background:rgba(214,0,0,.15); }
.outreach-inline-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; max-width:100%; }
.outreach-inline-form select, .outreach-inline-form input { min-width:0; max-width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; font:inherit; font-size:16px; background:var(--surface); color:inherit; }
.outreach-inline-form .outreach-chip-button { min-height:44px; margin:0; }
@keyframes outreach-bump { 0% { transform:scale(1); } 40% { transform:scale(1.35); } 100% { transform:scale(1); } }
@keyframes outreach-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes outreach-pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(.8); } }
@keyframes outreach-dot { 0%,80%,100% { opacity:.25; } 40% { opacity:1; } }
@media(max-width:860px) {
 .outreach-layout { grid-template-columns:1fr; }
 .outreach-candidate { grid-template-columns:minmax(0,1fr); grid-template-areas:"name" "meta" "action"; row-gap:6px; padding:12px 0; }
 .outreach-candidate > form { width:100%; }
 .outreach-inline-form input, .outreach-inline-form select { flex:1 1 160px; }
 .outreach-candidate > .outreach-chip { justify-self:start; min-height:40px; }
 .outreach-queue { position:static; max-height:none; }
 .outreach.is-reading .outreach-queue { display:none; }
 .outreach:not(.is-reading) .outreach-panels { display:none; }
 .outreach-back { display:inline-block; }
 .outreach-item-open { display:inline-flex; align-items:center; gap:4px; margin-top:4px; color:var(--accent-text); font-size:12px; font-weight:650; }
 .outreach-mail { padding:14px; }
 .outreach-preview iframe { height:380px; }
 .outreach-actions > form:first-child { flex:1 1 100%; }
 .outreach-send { width:100%; }
 .outreach-envelope div { grid-template-columns:52px minmax(0,1fr); }
 .prospect-filters { max-width:100%; overflow-x:auto; scrollbar-width:none; }
 .prospect-filters .prospect-tab { flex:0 0 auto; }
}
@media(max-width:860px) {
 .outreach-editor-body { padding:16px; }
 .outreach-editor-text { margin:0; }
 .outreach-editor-subject { grid-template-columns:1fr; gap:4px; }
}
@media(prefers-reduced-motion:reduce) {
 .outreach *, .outreach *::after, .outreach-confirm, .outreach-confirm::backdrop, .outreach-notice, .prospect-row, .filter-count.is-bumped { animation:none !important; transition:none !important; }
}

/* Contactés / Sans réponse: one row per prospect with its three-step sequence; settings form. */
.followup { display:grid; gap:14px; }
.followup-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.followup-summary p { display:grid; gap:2px; margin:0; font-size:14px; line-height:1.5; }
.followup-list { display:grid; margin:0; padding:0; list-style:none; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.followup-row { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"who actions" "steps steps"; align-items:center; gap:14px 20px; padding:16px 18px; border-top:1px solid var(--border); }
.followup-row:first-child { border-top:0; }
.followup-row:target { background:var(--accent-glow); }
.followup-who { grid-area:who; display:grid; justify-items:start; gap:4px; min-width:0; }
.followup-who .outreach-item-name, .followup-who .outreach-item-meta { overflow-wrap:anywhere; }
.followup-steps { grid-area:steps; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:640px; margin:0; padding:0; list-style:none; }
.followup-steps li { position:relative; display:grid; align-content:start; gap:2px; padding:20px 12px 0 0; min-width:0; }
.followup-steps li::before { content:""; position:absolute; top:5px; left:12px; right:0; height:2px; background:var(--border); }
.followup-steps li:last-child::before { display:none; }
.followup-steps li[data-state="done"]::before { background:var(--text); }
.followup-dot { position:absolute; top:0; left:0; width:12px; height:12px; border:2px solid var(--border); border-radius:50%; background:var(--surface); box-sizing:border-box; }
.followup-name { font-size:13px; font-weight:650; }
.followup-when { color:var(--muted); font-size:12px; line-height:1.4; }
.followup-steps li[data-state="done"] .followup-dot { border-color:var(--text); background:var(--text); }
.followup-steps li[data-state="ready"] .followup-dot { border-color:#1f7a3a; background:#1f7a3a; }
.followup-steps li[data-state="ready"] .followup-when { color:#1f7a3a; font-weight:650; }
.followup-steps li[data-state="due"] .followup-dot { border-color:var(--accent); background:var(--accent); }
.followup-steps li[data-state="due"] .followup-when { color:var(--accent-text); font-weight:650; }
.followup-steps li[data-state="planned"] .followup-dot { border-color:var(--text); }
.followup-steps li[data-state="blocked"] .followup-dot { border-style:dashed; }
.followup-steps li[data-state="later"] { opacity:.6; }
.followup-outside { grid-area:steps; margin:0; color:var(--muted); font-size:13px; }
.followup-actions { grid-area:actions; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 14px; }
.followup-actions form { margin:0; }
.followup-actions .prospect-more summary { font-size:13px; }
.followup-wait { display:grid; justify-items:end; gap:4px; }
.followup-wait small { color:var(--muted); font-size:12px; }
.followup-settings { display:grid; gap:16px; max-width:640px; }
.followup-settings fieldset { display:grid; gap:14px; margin:0; padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.followup-settings legend { padding:0 6px; font-size:15px; font-weight:700; }
.followup-toggle { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:12px; cursor:pointer; }
.followup-toggle input { position:absolute; opacity:0; width:1px; height:1px; }
.followup-toggle .outreach-switch { margin-top:2px; }
.followup-toggle input:checked + .outreach-switch { background:var(--accent); }
.followup-toggle input:checked + .outreach-switch::after { transform:translateX(16px); }
.followup-toggle input:focus-visible + .outreach-switch { outline:2px solid var(--focus); outline-offset:3px; }
.followup-toggle input:disabled + .outreach-switch { opacity:.5; }
.followup-toggle > span:last-child, .followup-field { display:grid; gap:4px; }
.followup-toggle small, .followup-field small { color:var(--muted); font-size:13px; line-height:1.4; }
.followup-field > span:first-child { font-size:14px; font-weight:650; }
.followup-days { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:14px; }
.followup-days input, .followup-field select { min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; }
.followup-days input { width:88px; }
.followup-field select { justify-self:start; min-width:120px; }
.followup-submit { display:flex; justify-content:flex-end; }
@media(max-width:860px) {
 .followup-row { grid-template-columns:minmax(0,1fr); grid-template-areas:"who" "steps" "actions"; padding:14px; }
 .followup-actions { justify-content:flex-start; }
 .followup-wait { justify-items:start; }
 .followup-summary { padding:14px; }
 .followup-settings fieldset { padding:14px; }
 .followup-submit .button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .outreach-switch, .outreach-switch::after { transition:none !important; }
}

/* Réglages: one list of sections, short sub-pages; the rail entry is desktop only, the avatar opens it on mobile. */
.nav-settings, .nav-sub { display:none; }
a.mobile-identity { color:inherit; text-decoration:none; border-radius:12px; }
a.identity-link { color:inherit; text-decoration:none; border-radius:12px; }
a.identity-link:hover .identity-copy strong { color:var(--accent-text); }
a.identity-link:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.identity-avatar.has-logo { background:#ffffff; padding:5px; overflow:hidden; }
.identity-avatar.has-logo img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
a.mobile-identity:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
a.mobile-identity.active .identity-avatar { border-color:var(--accent); color:var(--accent-text); }
@media(min-width:800px) {
 .nav-settings { display:flex; position:relative; margin-top:17px; }
 .nav-settings::before { content:""; position:absolute; top:-9px; left:0; right:0; border-top:1px solid var(--border); }
 .nav-sub { display:flex; }
}
.settings-list { display:grid; max-width:640px; margin:0; padding:0; list-style:none; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.settings-list li + li { border-top:1px solid var(--border); }
.settings-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; min-height:60px; padding:12px 18px; color:var(--text); font-weight:650; text-decoration:none; }
.settings-row:hover { background:var(--surface-raised); }
.settings-row:focus-visible { outline:2px solid var(--focus); outline-offset:-2px; }
.settings-state { justify-self:end; overflow:hidden; color:var(--muted); font-size:13px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.settings-chevron { color:var(--muted); font-size:20px; line-height:1; }
.settings-card { display:grid; gap:14px; max-width:640px; padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.settings-card h2 { margin:0; font-size:16px; }
.settings-switch-form { margin:0; }
.settings-switch { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:4px 0; border:0; background:none; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.settings-switch > span:last-child { display:grid; gap:2px; }
.settings-switch small { color:var(--muted); font-size:13px; }
.settings-switch[aria-checked="true"] .outreach-switch { background:var(--accent); }
.settings-switch[aria-checked="true"] .outreach-switch::after { transform:translateX(16px); }
.settings-switch:focus-visible { outline:2px solid var(--focus); outline-offset:3px; border-radius:8px; }
.settings-readonly { margin:0; }
.settings-form label { display:grid; gap:6px; font-size:14px; font-weight:650; }
.settings-form input { min-height:44px; padding:8px 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; }
.settings-form small { color:var(--muted); font-size:13px; font-weight:500; }
.automation-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; max-width:100%; border-radius:8px; color:var(--muted); font-size:14px; text-decoration:none; }
.automation-label { font-weight:500; }
.automation-link:hover .automation-label { color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.automation-link:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.automation-state { display:inline-flex; flex:none; align-items:center; gap:6px; padding:3px 9px; border-radius:999px; background:var(--surface-raised); color:var(--muted); font-size:12px; font-weight:650; line-height:1.5; white-space:nowrap; }
.automation-state::before { content:""; flex:none; width:6px; height:6px; border-radius:50%; background:currentColor; }
.automation-state.is-enabled { background:var(--state-active-surface); color:var(--state-active-text); }
@media(max-width:860px) {
 .settings-row { padding:12px 14px; }
 .settings-row { grid-template-columns:minmax(0,1fr) auto; }
 .settings-row .settings-state { grid-column:1; grid-row:2; justify-self:start; }
 .settings-row .settings-chevron { grid-column:2; grid-row:1 / span 2; }
 .settings-card { padding:14px; }
 .settings-form .button { width:100%; }
}

/* Ont répondu, Disponibilités and the Accueil meetings (owner-approved 3 October 2026). */
.reply-row .followup-actions { grid-area:steps; justify-content:flex-start; }
.reply-row { grid-template-columns:minmax(0,1fr); grid-template-areas:"who" "body" "steps"; }
.reply-body { grid-area:body; display:grid; gap:6px; min-width:0; }
.reply-excerpt { margin:0; padding:10px 14px; border-left:3px solid var(--border); border-radius:0 8px 8px 0; background:var(--background); color:var(--text); font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.reply-meeting { position:relative; order:10; }
.reply-meeting[open] { flex-basis:100%; }
.reply-meeting-form { max-width:440px; }
.reply-meeting > summary { display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border:1px solid var(--border); border-radius:999px; background:var(--surface); font-size:13px; font-weight:650; cursor:pointer; list-style:none; }
.reply-meeting > summary::-webkit-details-marker { display:none; }
.reply-meeting[open] > summary { border-color:var(--text); }
.reply-meeting-form { display:grid; gap:12px; margin-top:10px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); min-width:min(320px,100%); }
.reply-meeting-form fieldset { display:grid; gap:8px; margin:0; padding:0; border:0; }
.reply-meeting-form legend { margin-bottom:4px; font-size:13px; font-weight:700; }
.reply-slot { display:flex; align-items:center; gap:8px; min-height:36px; font-size:14px; }
.reply-other { display:flex; flex-wrap:wrap; gap:8px; padding-left:26px; }
.reply-other input, .reply-other select, .availability-range select { min-height:44px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; }
.availability-day { display:grid; grid-template-columns:150px repeat(2,minmax(0,auto)); align-items:center; gap:8px 16px; padding:8px 0; border-top:1px solid var(--border); }
.availability-day:first-of-type { border-top:0; }
.availability-name { display:flex; align-items:center; gap:8px; font-weight:650; }
.availability-range { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:13px; }
.followup-field input:not([type="checkbox"]) { min-height:44px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; }
.meetings-card { display:grid; gap:12px; margin-bottom:16px; padding:18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.meetings-card h2 { margin:0; font-size:17px; }
.meetings-card p { margin:0; }
.meetings-list { display:grid; margin:0; padding:0; list-style:none; }
.meeting-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:10px 0; border-top:1px solid var(--border); }
.meeting-row:first-child { border-top:0; }
.meeting-row > div:first-child { display:grid; gap:2px; }
.meeting-when { color:var(--accent-text); font-size:13px; font-weight:700; }
.meeting-row small { color:var(--muted); font-size:12px; }
.meeting-row.is-past .meeting-when { color:var(--muted); }
.meeting-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.meeting-actions form { margin:0; }
.compose-invite { margin:0; padding:10px 12px; border:1px dashed var(--border); border-radius:8px; color:var(--muted); font-size:13px; }
@media(max-width:860px) {
 .availability-day { grid-template-columns:1fr; }
 .availability-range select { flex:1 1 0; min-width:0; }
 .reply-other { padding-left:0; }
 .meetings-card { padding:14px; }
}

/* Calendar of availability (a weekly grid of half hours) and the Accueil (owner-approved 3 October 2026). */
[data-calendar-body][hidden] { display:none; }
.cal-tools { display:flex; flex-wrap:wrap; gap:8px; }
.cal-tools[hidden] { display:none; }
.cal-scroll { max-width:100%; overflow-x:auto; }
.cal-grid { width:100%; min-width:320px; border-collapse:separate; border-spacing:3px 0; table-layout:fixed; user-select:none; -webkit-user-select:none; }
.cal-grid th { padding:4px 0; color:var(--muted); font-size:12px; font-weight:650; text-align:center; }
.cal-grid tr > th:first-child { width:44px; padding-right:6px; text-align:right; vertical-align:top; transform:translateY(-8px); font-variant-numeric:tabular-nums; }
.cal-grid td { padding:0; }
.cal-cell { position:relative; display:block; height:22px; border-top:1px solid var(--border); background:var(--background); cursor:pointer; }
.cal-half .cal-cell { border-top-style:dashed; border-top-color:color-mix(in srgb,var(--border) 60%,transparent); }
.cal-cell input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.cal-cell:has(input:checked) { background:var(--accent); border-top-color:color-mix(in srgb,var(--accent) 70%,#000); }
.cal-cell:hover { background:var(--surface-raised); }
.cal-cell:has(input:checked):hover { background:var(--accent-hover); }
.cal-cell:has(input:focus-visible) { outline:2px solid var(--focus); outline-offset:1px; z-index:1; }
.cal-cell:has(input:disabled) { cursor:default; }
.cal-day-short { display:none; }
.home-section { display:grid; gap:12px; margin-bottom:20px; }
.home-section h2 { margin:0; font-size:17px; }
.home-section-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.home-section .segmented { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.home-empty { margin:0; padding:16px 18px; border:1px dashed var(--border); border-radius:var(--radius); color:var(--muted); }
.todo-grid, .results-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.todo-card, .result-tile { display:grid; gap:2px; padding:16px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:inherit; text-decoration:none; }
.todo-card { border-color:color-mix(in srgb,var(--accent) 35%,var(--border)); }
.todo-card:hover { border-color:var(--accent); }
.todo-card:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.todo-card strong, .result-tile strong { font-size:28px; line-height:1.1; font-variant-numeric:tabular-nums; }
.todo-card strong { color:var(--accent-text); }
.todo-card span, .result-tile span { font-weight:650; }
.todo-card small, .result-tile small { color:var(--muted); font-size:12px; line-height:1.4; }
.followup-missing p { margin:4px 0 0; }
@media(max-width:860px) {
 .todo-grid, .results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cal-day-long { display:none; }
 .cal-day-short { display:inline; }
 .cal-grid { border-spacing:2px 0; }
 .cal-grid tr > th:first-child { width:34px; font-size:11px; }
 .cal-cell { height:24px; }
}

/* Shared salaryman companion; appearance remains driven by system CSS. */
.brand-mark, .brand-mark.agent-emblem { width:33px; height:33px; flex-shrink:0; border:0; border-radius:11px; background:#a73545; color:#fff; font-size:25px; font-weight:650; line-height:1; letter-spacing:-2px; padding:0 4px 4px 0; }
.brand-mark.agent-emblem { width:48px; height:48px; border-radius:16px; font-size:36px; }
.mascot { --mascot-keyboard:0px; position:absolute; right:max(12px,env(safe-area-inset-right)); bottom:calc(100% + 8px); width:64px; z-index:11; text-align:center; transform:translateY(calc(-1 * var(--mascot-keyboard))); }
.mascot-trigger { display:block; width:64px; height:64px; border:0; border-radius:12px; background:none; cursor:pointer; }
.mascot-trigger[aria-disabled=true] { cursor:default; }
.mascot-trigger img { display:block; width:100%; height:100%; object-fit:contain; }
/* « Discuter avec Foxo » (owner-approved 21 October 2026): a quiet link directly above the fox, opening the full discussion. */
.mascot-link { position:absolute; right:0; bottom:calc(100% + 4px); display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 12px; white-space:nowrap; border:1px solid var(--border); border-radius:999px; background:var(--surface-translucent); backdrop-filter:blur(12px); color:var(--text); font-size:12px; font-weight:700; text-decoration:none; }
.mascot-link.active { color:var(--accent-text); border-color:color-mix(in srgb, var(--accent) 28%, var(--border)); }
.mascot-link.unavailable { color:var(--disabled-text); cursor:not-allowed; }
.mascot-link small { color:var(--accent-text); font-size:9px; font-weight:700; }
.mascot-bubble { position:fixed; inset:auto; margin:0; width:320px; max-width:calc(100vw - 24px); max-height:var(--mascot-bubble-height,70dvh); overflow:auto; z-index:20; border:1px solid var(--border); border-radius:16px; padding:20px; color:var(--text); background:var(--surface); box-shadow:var(--shadow); }
.mascot-bubble:not([open]) { display:none; }
.mascot-bubble h2 { margin:0; padding-right:20px; font-size:17px; line-height:1.4; }
.mascot-context { margin:8px 0 14px; font-size:12px; color:var(--muted); }
.mascot-close { position:absolute; top:4px; right:4px; width:44px; height:44px; border:0; border-radius:12px; background:transparent; color:var(--muted); font:inherit; font-size:26px; cursor:pointer; }
.mascot-bubble form { display:grid; gap:10px; }
.mascot-bubble label { font-size:13px; font-weight:650; }
.mascot-bubble textarea { width:100%; min-height:80px; max-height:180px; padding:10px; resize:vertical; border:1px solid var(--border); border-radius:10px; background:var(--background); color:var(--text); font:inherit; font-size:16px; }
.mascot-error { margin:0; color:var(--text); font-size:12px; line-height:1.5; }
.mascot-error:empty { display:none; }
@media(max-width:799px) {
 .app-shell:has(.mascot) .workspace { padding-bottom:calc(220px + env(safe-area-inset-bottom)); }
 .app-shell:has(.mascot) .model-chat .model-composer { bottom:calc(192px + env(safe-area-inset-bottom)); }
 .mail-composer-actions { position:sticky; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:4; padding:14px 0 10px; background:var(--surface); border-top:1px solid var(--border); }
}
@media(min-width:800px) {
 .side-rail:has(.mascot) { overflow-y:auto; }
 .mascot { position:relative; right:auto; bottom:auto; margin:auto 0 10px; width:100%; flex-shrink:0; padding-top:8px; border-top:1px solid var(--border); transform:none; }
 .mascot-trigger { width:96px; height:96px; margin:4px auto 0; }
 .mascot-link { position:static; display:flex; justify-content:space-between; width:100%; min-height:44px; padding:0 13px; border:0; border-radius:10px; background:none; backdrop-filter:none; color:var(--muted); font-size:13px; white-space:normal; text-align:left; }
 .mascot-link:not(.unavailable):hover { background:var(--surface-raised); color:var(--text); }
 .mascot-link.active { background:var(--accent-glow); color:var(--accent-text); }
 .side-rail:has(.mascot) > .logout-form { margin-top:0; flex-shrink:0; }
 .side-rail > .brand, .side-rail > .identity, .side-rail > .primary-nav { flex-shrink:0; }
}
@media(min-width:800px) and (max-height:820px) {
 .side-rail:has(.mascot) { padding-top:16px; padding-bottom:16px; }
 .side-rail:has(.mascot) .identity { margin:16px 0 10px; padding-bottom:12px; }
 .side-rail:has(.mascot) .nav-item, .side-rail .mascot-link { min-height:38px; }
}

/* Prospects polish (owner-approved 4 October 2026): counts on tabs, campaign tag, one-row filters, calmer notices. */
.tab-count { margin-left:5px; color:var(--muted); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.prospect-tab[aria-current=page] .tab-count { color:inherit; opacity:.7; }
.prospect-campaign { display:inline-block; margin-left:8px; padding:2px 8px; border:1px solid var(--border); border-radius:999px; font-size:11px; font-weight:600; letter-spacing:0; color:var(--muted); vertical-align:2px; }
.research-filters .filter-grid { display:flex; flex-wrap:wrap; align-items:end; gap:10px 12px; padding:12px 14px; }
.research-filters .filter-grid > label { flex:1 1 10rem; min-width:0; }
.research-filters .filter-grid > .filter-search { flex:2 1 14rem; }
.research-filters .filter-grid > .filter-campaign { flex:1 1 13rem; }
.research-filters .filter-grid input, .research-filters .filter-grid select { width:100%; min-width:0; }
.research-filters .filter-actions { flex:0 0 auto; align-self:end; }
.research-filters .campaign-select, .research-campaign-fields .campaign-select { width:100%; }
.research-filters .campaign-picker, .research-campaign-fields .campaign-picker { width:100%; min-width:0; min-height:44px; font-size:14px; }
.research-status-filter { min-width:0; margin:12px 0 0; padding:8px 14px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.research-status-filter > legend { padding:0 5px; color:var(--muted); font-size:13px; font-weight:650; }
.research-status-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:4px 16px; }
.research-filters .research-status-options label { display:flex; align-items:center; gap:8px; min-height:36px; min-width:0; padding:4px 0; font-size:14px; font-weight:400; line-height:1.4; cursor:pointer; }
.research-filters .research-status-options input[type=checkbox] { width:16px; min-height:16px; height:16px; margin:0; flex:0 0 16px; accent-color:var(--accent); }
.research-campaign-add > summary { padding:8px 12px; border:1px solid var(--border); border-radius:8px; cursor:pointer; font-size:13px; font-weight:600; }
.research-campaign-fields { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; width:340px; max-width:100%; padding-top:10px; }
details.prospect-copy { margin:12px 0; }
.prospect-copy > summary { display:inline-flex; align-items:center; min-height:44px; list-style:none; }
.prospect-copy > summary::-webkit-details-marker { display:none; }
.model-tile-use, .model-tile-used { margin:0; padding:0 0 10px; font-size:12px; }
/* Default models (owner-approved 21 October 2026): a readable « ✓ Par défaut » badge and one compact summary per Campagne. */
.model-tile-tags { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0; }
.model-default-badge { display:inline-flex; align-items:center; gap:4px; padding:1px 8px; border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); border-radius:999px; background:var(--accent-glow); color:var(--accent-text); font-size:12px; font-weight:700; letter-spacing:0; white-space:nowrap; }
.model-defaults { margin:0 0 16px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.model-defaults h3 { margin:0 0 6px; font-size:13px; font-weight:700; }
.model-defaults dl { display:grid; margin:0; }
.model-defaults-row { display:grid; grid-template-columns:minmax(7.5rem,10rem) minmax(0,1fr); align-items:baseline; gap:2px 12px; padding:6px 0; border-top:1px solid var(--border); font-size:14px; }
.model-defaults-row:first-child { border-top:0; }
.model-defaults-row dt { color:var(--muted); font-weight:600; }
.model-defaults-row dd { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; margin:0; min-width:0; }
.model-defaults-name { color:var(--text); font-weight:650; overflow-wrap:anywhere; }
.model-defaults-name:hover { color:var(--accent-text); }
.model-defaults-origin, .model-defaults-none { color:var(--muted); }
.model-defaults dd .model-link-button { min-height:32px; font-size:13px; }
.model-defaults-change { flex-basis:100%; font-size:13px; }
.model-defaults-change > summary { display:inline-flex; align-items:center; min-height:32px; color:var(--accent-text); font-weight:600; cursor:pointer; }
.model-defaults-change > summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; border-radius:6px; }
.model-defaults-change ul { display:grid; gap:2px; margin:4px 0 2px; padding:0; list-style:none; }
.model-defaults-change li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; padding:2px 0; }
.model-defaults-change li > span { overflow-wrap:anywhere; }
.model-defaults-change .model-tile-use { padding:0; }
.model-defaults-note { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.model-defaults h3 + .model-defaults-note { margin:0 0 6px; }
@media(max-width:480px) { .model-defaults-row { grid-template-columns:minmax(0,1fr); } }
.model-tile-use button { min-height:44px; text-align:left; }
.model-tile-used { color:var(--accent-text); min-height:44px; display:flex; align-items:center; }
.outreach-model-form, .outreach-prepare-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; max-width:100%; }
.outreach-model-form { margin:0 0 16px; }
.outreach-model-label { font-size:13px; font-weight:600; color:var(--muted); }
.outreach-model-form select, .outreach-prepare-form select { flex:1 1 140px; min-width:0; max-width:100%; min-height:44px; padding:8px 30px 8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:14px; }
.outreach-model-form select { max-width:320px; }
.outreach-added { margin:0 0 20px; padding:4px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.outreach-added ul { margin:0; padding:0; list-style:none; }
.model-editor-nav { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.research-campaign-fields select { width:100%; min-width:0; }
.research-campaign-fields p { grid-column:1/-1; max-width:36em; margin:0; color:var(--muted); font-size:12px; line-height:1.5; font-weight:400; }
.research-batch-more > summary { padding:8px; color:var(--muted); cursor:pointer; font-size:13px; font-weight:500; }
.research-batch-more > .prospect-buttons { padding-top:8px; }
.prospect-results:not(:has(input[name=items]:checked)) .research-batch { display:none; }
.prospect-results:has([data-campaign-only]:checked) [data-review-action],
.prospect-results:has([data-campaign-only]:checked) [data-review-actions-menu] { display:none; }
.prospect-list-status { margin-top:7px; font-size:11px; }
.prospect-list-status[data-status=dismissed],.prospect-list-status[data-status=archived] { color:var(--muted); }
.prospect-list-status[data-status=blocked] { color:var(--danger-text); }
.prospect-register { gap:8px; }
.prospect-row-main { padding:12px 16px 4px; }
.notice-card { display:flex; align-items:center; justify-content:space-between; gap:12px 20px; flex-wrap:wrap; margin:0 0 16px; padding:14px 18px; background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:var(--radius); font-size:14px; line-height:1.5; }
.notice-card p { margin:4px 0 0; }
.notice-card > div { flex:1 1 18rem; min-width:0; }
@media (max-width:600px){
 .prospect-toolbar .prospect-filters { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
 .prospect-toolbar .prospect-filters .prospect-tab { flex:0 0 auto; }
 .research-filters .filter-grid > label { flex:1 1 calc(50% - 6px); }
 .research-filters .filter-grid > .filter-search { flex-basis:100%; }
 .research-filters .filter-grid > .filter-campaign { flex-basis:100%; }
 .research-status-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; }
 .research-filters .research-status-options label { min-height:44px; }
 .research-batch > .prospect-buttons { width:100%; }
 .research-campaign-add[open] { flex:1 1 100%; }
 .research-campaign-fields { width:100%; }
 .research-header-actions [data-prospect-add] { flex:1; }
}

/* Réglages › Messagerie: provider choice (Google by app password, 4 October 2026). */
.settings-lead { margin:0 0 12px; color:var(--muted); }
.provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:stretch; }
.provider-card { display:flex; flex-direction:column; min-width:0; gap:16px; margin:0; }
@media (max-width:960px) { .provider-grid { grid-template-columns:minmax(0,1fr); } }
.provider-card .provider-title { margin-top:0 !important; }
.provider-card[data-open="true"] { border-color:var(--accent); }
.provider-soon { border-style:dashed; opacity:.7; }
.provider-steps { margin:10px 0 0; padding-left:20px; font-size:14px; line-height:1.6; }
.provider-steps li + li { margin-top:4px; }
.connected-box { margin-bottom:8px; }
.provider-card .connect-form { width:100%; max-width:none; }
.provider-card .connect-form input:not([type="hidden"]):not([type="checkbox"]), .provider-card .connect-form .button { width:100%; max-width:none; }
.connection-controls .provider-grid { margin-top:12px; }
.ovh-settings { min-width:0; border-top:1px solid var(--border); padding-top:10px; }
.ovh-settings summary { cursor:pointer; color:var(--accent-text); font-size:13px; font-weight:600; }
.ovh-settings label { display:grid; gap:6px; margin-top:12px; }
.ovh-settings select { width:100%; min-width:0; font:inherit; padding:10px 12px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface); }
.ovh-settings p { margin-bottom:8px; }
.ovh-settings .provider-help { display:inline-block; font-size:12px; }


/* Provider cards, refined (4 October 2026). */
.provider-card { padding:22px; gap:14px; border-radius:16px; transition:border-color .15s ease, box-shadow .15s ease; }
.provider-card:focus-within, .provider-card[data-open="true"] { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow); }
.provider-head { display:flex; align-items:center; gap:12px; }
.provider-head > div { flex:1; min-width:0; }
.provider-head .provider-title { margin:0 !important; font-size:18px; letter-spacing:-.01em; }
.provider-sub { margin:2px 0 0; color:var(--muted); font-size:13px; }
.provider-mark { display:inline-grid; place-items:center; flex-shrink:0; width:42px; height:42px; border-radius:12px; background:var(--background); border:1px solid var(--border); color:var(--accent-text); }
.provider-desc { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.provider-card .connect-form { gap:12px; margin:0; }
.provider-help { justify-self:start; font-size:13px; font-weight:600; color:var(--accent-text); text-decoration:none; }
.provider-help:hover, .provider-help:focus-visible { text-decoration:underline; }
.provider-soon { border-style:dashed; opacity:.65; }
.provider-soon .provider-mark { color:var(--muted); }
/* « Se connecter avec Microsoft »: Microsoft's button guidelines (logo left, 41 px high, #8C8C8C border; dark theme #2F2F2F). */
.ms-signin { display:inline-flex; align-items:center; gap:12px; min-height:41px; padding:0 12px; border:1px solid #8c8c8c; border-radius:0; background:#fff; color:#5e5e5e; font:600 15px/1 "Segoe UI",system-ui,-apple-system,sans-serif; cursor:pointer; }
.ms-signin:hover { background:#f3f3f3; }
.ms-signin:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (prefers-color-scheme: dark) { .ms-signin { background:#2f2f2f; border-color:#2f2f2f; color:#fff; } .ms-signin:hover { background:#3a3a3a; } }
.connected-box, .mci-address { display:grid; grid-template-columns:1fr; gap:16px; }
.connected-box .connection-controls { border-top:1px solid var(--border); padding-top:8px; }
.help-step code { font-size:15px; font-weight:700; letter-spacing:.06em; }
.connected-summary { display:flex; align-items:center; gap:14px; }
.connected-summary > div { flex:1; min-width:0; }
.connected-summary .provider-title { margin:0 !important; }
.connected-summary p { margin:2px 0 0; overflow-wrap:anywhere; }
/* Google help page. */
.help-intro { max-width:760px; margin:0 0 24px; padding:16px 20px; background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:var(--radius); line-height:1.6; }
.help-intro p { margin:0; }
.help-steps { display:grid; gap:18px; max-width:960px; margin:0; padding:0; list-style:none; }
.help-step { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,360px); gap:24px; align-items:center; padding:22px; background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.help-step-text { display:flex; gap:14px; }
.help-step h2 { margin:2px 0 8px; font-size:18px; }
.help-step p { margin:0 0 8px; line-height:1.6; }
.help-step-number { display:inline-grid; place-items:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--accent); color:#fff; font-weight:700; }
.help-note { color:var(--muted); font-size:13px; }
.help-sketch { width:100%; height:auto; }
.help-sketch text { font-family:inherit; }
.sk-frame { fill:var(--background); stroke:var(--border); }
.sk-bar { fill:var(--surface-raised); }
.sk-dot { fill:var(--border); }
.sk-title { fill:var(--text); font-size:15px; font-weight:700; }
.sk-text { fill:var(--muted); font-size:12px; }
.sk-field { fill:var(--surface); stroke:var(--border); }
.sk-typed { fill:var(--text); font-size:14px; font-weight:600; }
.sk-button { fill:var(--surface-raised); stroke:var(--border); }
.sk-button-text { fill:var(--text); font-size:13px; font-weight:700; }
.sk-highlight { fill:rgba(255,196,0,.18); stroke:rgba(214,150,0,.6); }
.sk-code { fill:var(--text); font-size:20px; font-weight:700; letter-spacing:.12em; font-family:ui-monospace,Menlo,monospace; }
.sk-accent { fill:var(--accent); }
.sk-accent-text { fill:#fff; font-size:13px; font-weight:700; }
.sk-arrow { fill:none; stroke:var(--accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.help-faq { max-width:960px; margin-top:28px; }
.help-faq dl { display:grid; gap:10px; margin:12px 0; }
.help-faq dl > div { padding:14px 18px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.help-faq dt { font-weight:700; }
.help-faq dd { margin:6px 0 0; color:var(--muted); line-height:1.6; }
.help-admin-link code { display:block; padding:10px 12px; background:var(--surface); border:1px solid var(--border); border-radius:10px; overflow-wrap:anywhere; user-select:all; }
.google-help .help-steps { max-width:1100px; }
.google-help .help-step { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); align-items:start; }
.google-help .help-step-text > div { min-width:0; }
.google-help .google-help-action { margin:16px 0 0; }
.google-help-action .button { gap:8px; white-space:normal; text-align:center; }
.google-help-capture { min-width:0; margin:0; }
.google-help-capture a { display:block; overflow:hidden; border:1px solid var(--border); border-radius:10px; text-decoration:none; }
.google-help-capture img { display:block; width:100%; height:auto; background:#fff; color:#1c1a1d; }
.google-help-zoom { display:block; padding:9px 12px; background:var(--surface-raised); color:var(--text); font-size:13px; text-align:center; }
.google-help-faq { max-width:1100px; padding:16px 20px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.google-help-faq summary { cursor:pointer; font-weight:700; }
.google-help-faq dl { margin-bottom:0; }
.google-help-faq dl > div { padding:12px 0; border:0; border-radius:0; }
.google-help-faq dl > div + div { border-top:1px solid var(--border); }
@media (max-width:1040px){ .google-help .help-step { grid-template-columns:1fr; } }
@media (max-width:760px){ .google-help .help-step { gap:18px; padding:18px; } .google-help .mascot { display:none; } }
@media (max-width:760px){ .help-step { grid-template-columns:1fr; } }

/* Language switch (owner-approved 5 October 2026): « FR · EN », quiet text buttons; the side rail shows it on desktop, Réglages everywhere. */
.lang-switch { display:inline-flex; align-items:center; gap:4px; margin:0; font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--muted); }
.lang-switch > span[aria-hidden] { opacity:.5; }
.lang-switch button, .lang-switch a, .lang-switch [aria-current] { min-width:32px; min-height:32px; padding:0 6px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; cursor:pointer; text-decoration:none; display:inline-grid; place-items:center; }
.lang-switch button:hover:not(:disabled), .lang-switch a:hover { color:var(--text); background:var(--surface-muted, rgba(127,127,127,.12)); }
.lang-switch button:focus-visible, .lang-switch a:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.lang-switch [aria-pressed="true"], .lang-switch [aria-current] { color:var(--accent); cursor:default; opacity:1; }
.side-rail > .rail-lang { display:none; }
@media(min-width:800px) {
 .side-rail > .rail-lang { display:inline-flex; flex-shrink:0; margin:0 0 6px 4px; }
}
.settings-language { display:flex; align-items:center; justify-content:space-between; gap:12px; max-width:640px; margin-top:16px; padding:10px 16px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); font-size:15px; font-weight:600; }
.login-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }

/* Legal pages and links (owner-approved 5 October 2026); « À compléter » marks stay visible until the company details exist. */
.legal-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 8px; margin:18px 0 0; font-size:13px; color:var(--muted); }
.legal-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.legal-links a:hover { color:var(--text); }
.legal-links > span[aria-hidden] { opacity:.5; }
.login-layout { flex-direction:column; }
.settings-legal { justify-content:flex-start; max-width:640px; margin-top:20px; }
.legal-layout { max-width:760px; margin:0 auto; padding:24px 16px 48px; }
.legal-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.legal-card { background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:clamp(20px,5vw,36px); line-height:1.6; overflow-wrap:anywhere; }
.legal-card h1 { margin:0 0 4px; font-size:clamp(28px,7vw,38px); letter-spacing:-.03em; }
.legal-card h2 { margin:28px 0 8px; font-size:18px; }
.legal-card p, .legal-card li { color:var(--text); }
.legal-card ul { padding-left:20px; }
.legal-updated { margin:0; color:var(--muted); font-size:14px; }
.legal-details { display:grid; gap:8px; margin:12px 0 0; }
.legal-details > div { display:grid; grid-template-columns:minmax(140px,220px) 1fr; gap:4px 16px; }
.legal-details dt { font-weight:700; }
.legal-details dd { margin:0; }
@media (max-width:599px){ .legal-details > div { grid-template-columns:1fr; } }
.legal-todo { padding:1px 6px; border-radius:6px; background:#fff1c2; color:#6b4e00; font-weight:600; }

/* « Tableau de bord » on Accueil (owner-approved 17 October 2026): one row per subject, its button on the right. */
.board { display:grid; gap:0; margin:0 0 24px; padding:6px 22px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-soft); }
.board > h2 { margin:14px 0 4px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-text); }
.board-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding:16px 0; }
.board-row + .board-row { border-top:1px solid var(--border); }
.board-copy { flex:1 1 18rem; min-width:0; }
.board-copy h3 { margin:0 0 4px; font-size:15px; letter-spacing:-.01em; }
.board-copy p { margin:0; font-size:14px; line-height:1.5; }
.board-copy .board-muted { color:var(--muted); font-size:13px; }
.board-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 10px; margin-left:auto; }
.board-or { color:var(--muted); font-size:13px; font-style:italic; }
.button.is-soon { gap:8px; cursor:default; color:var(--muted); }
.button.is-soon:hover { border-color:var(--border); }
.button.is-soon small { padding:2px 7px; border-radius:999px; background:var(--accent-glow); color:var(--accent-text); font-size:11px; font-weight:700; }
@media(max-width:599px) { .board { padding:4px 16px; } .board-actions { justify-content:flex-start; } }
.home-section .onboarding { margin:0; }

/* « Informations personnelles » (owner-approved 17 October 2026). */
.details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin:0; }
.details-wide { grid-column:1 / -1; }
.details-form textarea { min-height:64px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:16px; resize:vertical; }
.details-readonly { display:grid; gap:2px; }
.details-readonly dt { font-size:13px; font-weight:650; color:var(--muted); }
.details-readonly dd { margin:0; overflow-wrap:anywhere; }
.details-readonly dd a { color:var(--accent-text); }
.details-account, .details-group + .details-group { margin-top:16px; }
.details-account h2, .settings-card > h2 { margin:0; font-size:15px; }
@media(max-width:599px) { .details-grid { grid-template-columns:1fr; } }

/* FAQ (owner-approved 17 October 2026). */
.faq-list { display:grid; gap:10px; max-width:760px; }
.faq-item { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-soft); }
.faq-item > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; cursor:pointer; font-weight:650; list-style:none; }
.faq-item > summary::-webkit-details-marker { display:none; }
.faq-item > summary::after { content:"+"; flex-shrink:0; color:var(--accent-text); font-size:20px; font-weight:500; line-height:1; }
.faq-item[open] > summary::after { content:"−"; }
.faq-item > p { margin:0; padding:0 18px 16px; color:var(--muted); line-height:1.6; }
.faq-item > summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; border-radius:var(--radius); }

/* Side-rail entries under Réglages (desktop only, like Réglages). */
.nav-sub { font-size:13px; min-height:38px; color:var(--muted); }
.nav-sub.active { color:var(--accent-text); }

/* Global polish (owner-approved 17 October 2026): softer depth, calmer hovers and clearer focus; no element moves. */
:root { --shadow-soft: 0 1px 2px rgba(39, 28, 24, .04), 0 6px 18px rgba(39, 28, 24, .045); --ease: cubic-bezier(.2, .7, .3, 1); }
@media (prefers-color-scheme: dark) { :root { --shadow-soft: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 22px rgba(0, 0, 0, .22); } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--accent-glow); }
.overline { color: var(--accent-text); }
.workspace-header h1 { text-wrap: balance; }
.workspace-subtitle { color: var(--muted); line-height: 1.55; }
.home-section h2, .automation-card h2 { letter-spacing: -.01em; }
.settings-card, .settings-list, .followup-settings fieldset, .profile-card, .automation-card, .meetings-card,
.todo-card, .result-tile, .metric-card, .profile-howto, .onboarding { box-shadow: var(--shadow-soft); }
.button { transition: background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease); }
.button-primary:not(:disabled):hover { box-shadow: 0 6px 16px var(--accent-glow); }
.button-secondary { background: var(--surface); }
.button-secondary:hover { background: var(--surface-raised); }
.nav-item { transition: background-color .15s var(--ease), color .15s var(--ease); }
.nav-item:not(.active):not(.unavailable):hover { background: var(--surface-raised); color: var(--text); }
.todo-card, .metric-card, .profile-card, .settings-row { transition: border-color .15s var(--ease), box-shadow .15s var(--ease), background-color .15s var(--ease); }
.todo-card:hover, .metric-card:hover { box-shadow: var(--shadow); }
.profile-card:hover { border-color: color-mix(in srgb, var(--accent) 30%, var(--border)); }
.settings-row:hover { background: var(--surface-raised); }
.followup-field input:not([type="checkbox"]), .followup-field select, .followup-field textarea, .followup-days input { transition: border-color .15s var(--ease), box-shadow .15s var(--ease); }
.followup-field input:not([type="checkbox"]):focus, .followup-field select:focus, .followup-field textarea:focus, .followup-days input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.status-pill { letter-spacing: .01em; }
@media (prefers-reduced-motion: reduce) {
 .button, .nav-item, .todo-card, .metric-card, .profile-card, .settings-row, .followup-field input, .followup-field select, .followup-field textarea, .followup-days input { transition: none; }
}

/* Listes de prospects / Envoi de mails (owner-approved 21 October 2026): one calm frame per space —
   title and one sentence, the four tabs with a quiet link to the other space, then the view's own controls. */
.section-header { margin-bottom:18px; }
.section-header h1 { font-size:clamp(26px,4vw,32px); }
.section-header .workspace-subtitle { margin-top:6px; overflow-wrap:anywhere; }
/* .prospect-page keeps its header in a wrapping row on phones, where the shared flex:none would size the title block to its
   unwrapped sentence: let it shrink and wrap instead. */
.workspace-header.section-header > div:first-child { flex:1 1 16rem; min-width:0; max-width:100%; }
.prospect-toolbar { gap:10px 16px; }
.prospect-toolbar .prospect-pipeline { width:auto; flex:0 1 auto; }
.section-bridge { display:inline-flex; align-items:center; gap:6px; min-height:38px; margin-left:auto; padding:0 4px; border-radius:8px; color:var(--muted); font-size:14px; font-weight:650; text-decoration:none; white-space:nowrap; }
.section-bridge:hover { color:var(--accent-text); }
.section-bridge:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.section-bridge-count { font-variant-numeric:tabular-nums; }
.section-bridge-count:not(.filter-count) { color:var(--text); }

/* Register: search, filters, statuses and page options in one bordered bar. */
.prospect-results .research-filters { gap:0; margin:0 0 14px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.prospect-results .research-filters .filter-grid { padding:14px 16px; border:0; border-radius:0; background:none; }
.prospect-results .research-status-filter { margin:0; padding:10px 16px 12px; border:0; border-top:1px solid var(--border); border-radius:0; background:none; }
.prospect-results .research-list-options { margin:0; padding:8px 16px; border-top:1px solid var(--border); }
.prospect-results .empty-state, .followup .empty-state, .outreach .empty-state { min-height:0; margin-top:0; padding:28px 24px; }
.prospect-results .empty-state h2, .followup .empty-state h2 { font-size:17px; letter-spacing:-.01em; }
.prospect-results .empty-state .button, .followup .empty-state .button { margin-top:14px; }
@media(min-width:601px) {
 .prospect-results .research-status-filter > legend { float:left; margin:0 16px 0 0; padding:0; line-height:36px; }
 .prospect-results .research-status-options { display:flex; flex-wrap:wrap; gap:0 16px; }
}

/* Sending workspace: the queue (prepared emails, prospects to prepare, missing details) beside the open email. */
.outreach-layout { grid-template-columns:minmax(280px,360px) minmax(0,1fr); }
.outreach-queue { display:grid; align-content:start; }
.outreach-queue > .outreach-stages { padding:12px; border-bottom:1px solid var(--border); }
.outreach-group { display:grid; gap:2px; padding:10px 6px; }
.outreach-queue .outreach-group ul { padding:0; }
.outreach-queue .outreach-unprepared { padding:0; border:0; border-radius:0; background:none; animation:none; }
.outreach-queue .outreach-unprepared > .outreach-group { border-top:1px solid var(--border); }
.outreach-group-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:2px 8px 6px; }
.outreach-group-head form { margin:0; }
.outreach-group-title { display:flex; align-items:center; gap:6px; margin:0; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.outreach-group-count { font-variant-numeric:tabular-nums; font-weight:600; letter-spacing:0; }
.outreach-group-empty { margin:0; padding:2px 8px 6px; color:var(--muted); font-size:13px; }
.outreach-queue .outreach-candidate { display:flex; flex-direction:column; align-items:stretch; gap:6px; padding:10px 8px; }
.outreach-queue .outreach-candidate > .outreach-chip { align-self:flex-start; }
.outreach-queue .outreach-chip-button { min-height:36px; padding:8px 10px; }
.outreach-reading { display:grid; gap:16px; min-width:0; }
.outreach-placeholder { display:grid; justify-items:start; gap:8px; padding:28px 24px; border:1px dashed var(--border); border-radius:var(--radius); color:var(--muted); }
.outreach-placeholder h2 { margin:0; color:var(--text); font-size:17px; letter-spacing:-.01em; }
.outreach-placeholder p { margin:0; font-size:14px; line-height:1.55; }
.outreach-placeholder .button { margin-top:6px; }
.outreach-reading:has(.outreach-mail:not([hidden])) .outreach-placeholder { display:none; }
.outreach-tools { display:grid; gap:10px; padding-top:14px; border-top:1px solid var(--border); }
.outreach-tools > *, .outreach-ask > * { min-width:0; }
.outreach-tools textarea { min-width:0; }
.outreach-tools .outreach-model-form { margin:0; }
.outreach-manage { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.outreach-manage form { margin:0; }
.outreach-mail.is-editing .outreach-tools, .outreach-mail.is-editing .outreach-manage { display:none; }
.outreach-ask-send { width:auto; padding:0 12px; border:1px solid var(--border); background:var(--surface-raised); color:var(--text); font-size:13px; font-weight:650; }
.outreach-ask-send:hover { transform:none; border-color:var(--accent); }

/* Follow-ups: the settings are one quiet line, not a card. */
.section-settings { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; margin:0; padding:0 2px; font-size:13px; line-height:1.5; }
.section-settings strong { font-weight:650; }

@media(max-width:860px) {
 .workspace-header.section-header { flex-direction:row; align-items:center; }
 .outreach-layout { grid-template-columns:minmax(0,1fr); }
 .prospect-toolbar .prospect-pipeline { width:100%; }
 .section-bridge { margin-left:0; }
 .outreach:not(.is-reading) .outreach-reading:has(.outreach-mail) .outreach-placeholder { display:none; }
}
