/*
 * portail.css
 *
 * Style principal du portail RU-Insider.
 * Charte bleue sur fond clair (decision de Dany, 2026-09-30) :
 *   fond blanc, cartes blanches, texte bleu nuit, accent bleu, boutons
 *   bleus a texte blanc. Jetons de RU Design, valeur bleue en repli.
 *   Plus d'or, plus de bandeau noir.
 *
 * Police du site (RU Design), Arial en repli. Pas de trait cadratin.
 */

:root {
	/* Jetons locaux du portail : ils lisent RU Design (--ru-*), bleu en repli.
	   Prefixe --rui- pour ne jamais ecraser les jetons globaux de RU Design. */
	--rui-font: var(--ru-police, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, Helvetica, sans-serif);

	--rui-bg: var(--ru-fond, #FFFFFF);
	--rui-surface: var(--ru-fond, #FFFFFF);
	--rui-surface-alt: var(--ru-surface, #F6F6F4);
	--rui-border: var(--ru-bord, rgba(0,0,0,.10));
	--rui-border-strong: var(--ru-bord-2, rgba(0,0,0,.16));
	--rui-border-soft: var(--ru-bord, rgba(0,0,0,.10));
	--rui-text: var(--ru-texte, #0e2438);
	--rui-text-muted: var(--ru-discret, #6b7280);

	--rui-accent: var(--ru-accent, #1d5c8f);
	--rui-accent-fonce: var(--ru-accent-fonce, #174a73);
	--rui-accent-soft: var(--ru-accent-doux, rgba(44,111,181,.12));
	--rui-accent-filet: var(--ru-accent-filet, rgba(44,111,181,.45));
	--rui-on-accent: var(--ru-sur-accent, #FFFFFF);

	--rui-error-bg: var(--ru-erreur-doux, rgba(180,35,24,.08));
	--rui-error-border: var(--ru-erreur, #b42318);
	--rui-error-text: var(--ru-erreur, #b42318);

	--rui-success-bg: var(--ru-succes-doux, rgba(26,127,55,.10));
	--rui-success-border: var(--ru-succes, #1a7f37);
	--rui-success-text: var(--ru-succes, #1a7f37);

	--rui-radius-sm: var(--ru-rayon, 10px);
	--rui-radius-md: var(--ru-rayon-lg, 16px);
	--rui-shadow-sm: var(--ru-ombre, 0 1px 3px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.05));
	--rui-shadow-md: var(--ru-ombre, 0 1px 3px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.05));
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

/* -------------------- Pages -------------------- */

.ru-page {
	width: 100%;
	max-width: 720px;
}
.ru-page--wide { max-width: 1200px; }
.ru-page__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rui-border);
}
.ru-page__title {
	font-size: 26px;
	font-weight: 700;
	margin: 0;
	color: var(--rui-text);
	border-left: 2px solid var(--rui-accent);
	padding-left: 10px;
}

/* -------------------- Cartes -------------------- */

.ru-card {
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
	box-shadow: var(--rui-shadow-sm);
	padding: 28px;
	width: 100%;
}
.ru-card--auth { max-width: 440px; }
.ru-card--wide { max-width: 100%; }
.ru-card__title {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px;
	color: var(--rui-text);
}
.ru-card__subtitle {
	color: var(--rui-text-muted);
	margin: 0 0 20px;
	font-size: 14px;
}
.ru-card__header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rui-border);
}
.ru-card__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* -------------------- Formulaires -------------------- */

.ru-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 16px;
}
.ru-field-row { display: flex; gap: 12px; flex-wrap: wrap; }
.ru-field-row .ru-field { flex: 1 1 200px; }
.ru-field { display: flex; flex-direction: column; gap: 6px; }
.ru-field__label {
	font-size: 13px;
	font-weight: 700;
	color: var(--rui-text);
}
.ru-field input[type="text"],
.ru-field input[type="email"],
.ru-field input[type="password"],
.ru-field input[type="url"],
.ru-field input[type="datetime-local"],
.ru-field select,
.ru-field textarea {
	font-family: var(--rui-font);
	font-size: 14px;
	padding: 10px 12px;
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-sm);
	background: var(--rui-surface);
	color: var(--rui-text);
	outline: none;
	transition: box-shadow .15s ease;
}
.ru-field input:focus,
.ru-field select:focus,
.ru-field textarea:focus {
	box-shadow: 0 0 0 3px var(--rui-accent-filet);
}
.ru-field textarea { resize: vertical; min-height: 96px; }
.ru-field input[type="file"] {
	font-family: var(--rui-font);
	font-size: 13px;
	color: var(--rui-text);
}
.ru-field__hint {
	font-size: 12px;
	color: var(--rui-text-muted);
	margin: 4px 0 0;
}
.ru-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--rui-text);
}
.ru-checkbox-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 4px;
}
.ru-form--inline {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin-top: 0;
}
.ru-form--inline .ru-field { min-width: 160px; }
.ru-form--inline .ru-field--grow { flex: 1 1 240px; }
.ru-form--inline .ru-field--compact { flex: 0 0 auto; }
.ru-form__buttons {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 8px;
}
.ru-form__buttons .ru-btn--danger { margin-left: auto; }

/* -------------------- Boutons -------------------- */

.ru-btn {
	font-family: var(--rui-font);
	font-size: 14px;
	font-weight: 700;
	padding: 10px 20px;
	border-radius: var(--rui-radius-sm);
	border: 1px solid var(--rui-border-strong);
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transition: background-color .15s ease, color .15s ease, transform .1s ease;
}
.ru-btn:active { transform: translateY(1px); }

.ru-btn--primary {
	background: var(--rui-accent);
	color: var(--rui-on-accent);
	border-color: var(--rui-accent);
}
.ru-btn--primary:hover,
.ru-btn--primary:focus {
	background: var(--rui-accent-fonce);
	color: var(--rui-on-accent);
	outline: none;
}

.ru-btn--ghost {
	background: var(--rui-surface);
	color: var(--rui-text);
}
.ru-btn--ghost:hover,
.ru-btn--ghost:focus {
	background: var(--rui-accent-soft);
	color: var(--rui-accent);
	outline: none;
}

.ru-btn--danger {
	background: var(--rui-surface);
	color: var(--rui-text);
	border-color: var(--rui-border-strong);
	border-width: 2px;
}
.ru-btn--danger:hover,
.ru-btn--danger:focus {
	background: var(--rui-error-bg);
	color: var(--rui-error-text);
}

.ru-btn--sm { padding: 6px 12px; font-size: 12px; }

/* -------------------- Notices -------------------- */

.ru-notice {
	padding: 12px 14px;
	border-radius: var(--rui-radius-sm);
	border: 1px solid var(--rui-border-strong);
	font-size: 14px;
	margin-bottom: 16px;
	font-family: var(--rui-font);
}
.ru-notice--error {
	background: var(--rui-surface);
	color: var(--rui-text);
	border-left-width: 6px;
}
.ru-notice--success {
	background: var(--rui-success-bg);
	color: var(--rui-success-text);
	border-color: var(--rui-success-border);
}

/* -------------------- Liens -------------------- */

.ru-links {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
}
.ru-links a {
	color: var(--rui-text);
	text-decoration: none;
	font-weight: 700;
	border-bottom: 2px solid var(--rui-accent);
	padding-bottom: 1px;
}
.ru-links a:hover { color: var(--rui-accent); border-bottom-color: var(--rui-accent); }

/* -------------------- Profil : hero -------------------- */

.ru-profile {
	width: 100%;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.ru-hero {
	background: var(--rui-surface-alt);
	color: var(--rui-text);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
	box-shadow: var(--rui-shadow-md);
	padding: 28px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}
.ru-hero__name {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 4px;
	color: var(--rui-accent);
}
.ru-hero__meta {
	color: var(--rui-text-muted);
	margin: 0;
	font-size: 14px;
}
.ru-hero .ru-btn--primary {
	background: var(--rui-accent);
	color: var(--rui-on-accent);
	border-color: var(--rui-accent);
}
.ru-hero .ru-btn--primary:hover {
	background: var(--rui-surface);
	color: var(--rui-accent);
	border-color: var(--rui-accent-fonce);
}

/* -------------------- Reglages admin (aperçu logo) -------------------- */

.ru-settings__logo-preview {
	max-height: 64px;
	display: block;
	margin-bottom: 8px;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border);
	padding: 6px;
	border-radius: 4px;
}

/* -------------------- Tables CRM -------------------- */

.ru-table-wrap {
	overflow-x: auto;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
}
.ru-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ru-table th, .ru-table td {
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid var(--rui-border);
	vertical-align: middle;
	color: var(--rui-text);
}
.ru-table th {
	background: var(--rui-surface-alt);
	color: var(--rui-text);
	font-weight: 700;
	border-bottom: 1px solid var(--rui-border);
}
.ru-table tbody tr:hover { background: var(--rui-surface-alt); }
.ru-table__actions { text-align: right; white-space: nowrap; }

/* -------------------- Definitions -------------------- */

.ru-def {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
}
.ru-def__row {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--rui-border);
}
.ru-def__row:last-child { border-bottom: 0; }
.ru-def dt {
	font-weight: 700;
	color: var(--rui-text);
	font-size: 13px;
}
.ru-def dd {
	margin: 0;
	color: var(--rui-text);
	font-size: 14px;
}
.ru-def dd a {
	color: var(--rui-text);
	font-weight: 700;
	border-bottom: 2px solid var(--rui-accent);
	text-decoration: none;
}

.ru-h3 {
	font-size: 15px;
	font-weight: 700;
	margin: 20px 0 8px;
	color: var(--rui-text);
	border-left: 2px solid var(--rui-accent);
	padding-left: 8px;
}
.ru-notes {
	white-space: pre-wrap;
	font-size: 14px;
	color: var(--rui-text);
}

/* -------------------- Badges -------------------- */

.ru-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	background: var(--rui-accent-soft);
	color: var(--rui-accent);
	margin-left: 6px;
	border: 1px solid var(--rui-border-strong);
}
.ru-badge--primary { background: var(--rui-accent); color: var(--rui-on-accent); }
.ru-badge--muted { background: var(--rui-surface); color: var(--rui-text); }

.ru-muted { color: var(--rui-text-muted); }
.ru-empty {
	padding: 40px 20px;
	text-align: center;
	color: var(--rui-text-muted);
	background: var(--rui-surface);
	border: 1px dashed var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
}

/* -------------------- Historique CRM -------------------- */

.ru-history {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ru-history__item {
	padding: 12px 14px;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-left: 2px solid var(--rui-accent);
	border-radius: var(--rui-radius-sm);
}
.ru-history__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 12px;
	color: var(--rui-text);
	margin-bottom: 4px;
}
.ru-history__date { font-weight: 700; color: var(--rui-text); }
.ru-history__author { margin-left: auto; font-weight: 700; }
.ru-history__note { font-size: 14px; color: var(--rui-text); }

/* -------------------- Pagination -------------------- */

.ru-pagination {
	display: flex;
	gap: 6px;
	margin-top: 16px;
	justify-content: center;
	flex-wrap: wrap;
}
.ru-pagination__link {
	display: inline-block;
	padding: 6px 10px;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-sm);
	color: var(--rui-text);
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
}
.ru-pagination__link:hover { background: var(--rui-accent-soft); color: var(--rui-accent); }
.ru-pagination__link.is-current {
	background: var(--rui-accent);
	color: var(--rui-on-accent);
	border-color: var(--rui-border-strong);
}

/* -------------------- Calendrier -------------------- */

.ru-cal {
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
	padding: 16px;
}
.ru-cal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rui-border);
}
.ru-cal__title {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
	color: var(--rui-text);
	border-left: 2px solid var(--rui-accent);
	padding-left: 8px;
}
.ru-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.ru-cal__dow {
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	color: var(--rui-accent);
	padding: 6px 0;
	background: var(--rui-accent-soft);
	border-radius: 4px;
}
.ru-cal__cell {
	min-height: 96px;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-sm);
	padding: 4px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	overflow: hidden;
}
.ru-cal__cell--empty { background: transparent; border: 0; }
.ru-cal__day-num {
	font-size: 12px;
	font-weight: 700;
	color: var(--rui-text);
	text-align: right;
	margin-bottom: 2px;
}
.ru-cal__event {
	display: block;
	background: var(--rui-accent);
	color: var(--rui-on-accent);
	padding: 2px 6px;
	font-size: 11px;
	border-radius: 3px;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 700;
	border: 1px solid var(--rui-border-strong);
}
.ru-cal__event:hover { background: var(--rui-accent-soft); color: var(--rui-accent); }
.ru-cal__event--admin {
	background: var(--rui-surface);
	color: var(--rui-text);
	border: 1px solid var(--rui-border-strong);
	border-left: 2px solid var(--rui-accent);
}
.ru-cal__event--admin:hover { background: var(--rui-accent-soft); color: var(--rui-accent); }
.ru-cal__event.is-masked {
	background: var(--rui-surface-alt);
	color: var(--rui-text);
	border-style: dashed;
}
.ru-cal__event-time { font-weight: 700; margin-right: 4px; }
.ru-cal-toolbar {
	display: flex;
	gap: 6px;
	margin-bottom: 12px;
}
.ru-tab {
	padding: 8px 14px;
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-sm);
	color: var(--rui-text);
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
}
.ru-tab:hover { background: var(--rui-accent-soft); color: var(--rui-accent); }
.ru-tab.is-active {
	background: var(--rui-accent);
	color: var(--rui-on-accent);
}

/* -------------------- Ressources -------------------- */

.ru-res-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
	margin-top: 16px;
}
.ru-res-card {
	background: var(--rui-surface);
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-md);
	box-shadow: var(--rui-shadow-sm);
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ru-res-card__header { display: flex; flex-direction: column; gap: 6px; }
.ru-res-card__title { font-size: 15px; font-weight: 700; margin: 0; }
.ru-res-card__title a {
	color: var(--rui-text);
	text-decoration: none;
	border-bottom: 2px solid var(--rui-accent);
}
.ru-res-card__title a:hover { border-bottom-color: var(--rui-accent); }
.ru-res-card__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ru-res-card__tags .ru-badge { margin-left: 0; }
.ru-res-card__excerpt {
	font-size: 13px;
	color: var(--rui-text-muted);
	margin: 0;
}
.ru-res-body {
	width: 100%;
	font-family: var(--rui-font);
	font-size: 14px;
	padding: 12px;
	border: 1px solid var(--rui-border-strong);
	border-radius: var(--rui-radius-sm);
	background: var(--rui-surface);
	color: var(--rui-text);
	resize: vertical;
	margin-bottom: 12px;
}

/* -------------------- Responsive -------------------- */

@media (max-width: 720px) {
	.ru-def__row { grid-template-columns: 1fr; gap: 2px; padding: 8px 0; }
	.ru-cal__cell { min-height: 68px; }
	.ru-cal__event-title { display: none; }
}

/* ============================================================
 * PORTE D'ENTREE RU-InSider - carte compacte a une colonne
 * ============================================================ */
.ru-auth{margin:0;background:var(--rui-bg);color:var(--rui-text);font-family:var(--rui-font);-webkit-font-smoothing:antialiased}
.ru-auth *{box-sizing:border-box}
.ru-auth__wrap{min-height:100vh;background:var(--rui-bg);display:flex;align-items:center;justify-content:center;padding:40px 16px}
.ru-auth__card{display:flex;width:100%;max-width:860px;background:var(--rui-surface);border:1px solid var(--rui-border);border-radius:var(--rui-radius-md);overflow:hidden;box-shadow:var(--rui-shadow-md)}
.ru-auth__main{flex:1 1 56%;padding:38px 42px 30px;text-align:center}
.ru-auth__aside{flex:1 1 44%;background:var(--rui-surface-alt);border-left:1px solid var(--rui-border);color:var(--rui-text);padding:40px 34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:22px}
.ru-auth__brand{display:block;text-align:center;margin:0 0 18px}
.ru-auth__brand img{height:54px;width:auto;display:inline-block}
.ru-auth__kicker{font-size:10px;letter-spacing:.2em;color:var(--rui-accent);font-weight:800;margin:0 0 10px}
.ru-auth__pitch{font-size:23px;line-height:1.2;font-weight:800;margin:0 0 12px;color:var(--rui-text)}
.ru-auth__sub{font-size:13.5px;color:var(--rui-text-muted);line-height:1.6;margin:0;max-width:280px}
.ru-auth__aside-top{max-width:300px}
.ru-auth__aside-bottom{margin-top:0}
.ru-auth__slogan{display:inline-block;background:var(--rui-accent-soft);color:var(--rui-accent);font-weight:800;font-size:12px;border-radius:999px;padding:8px 15px}
@media (max-width:720px){.ru-auth__card{flex-direction:column;max-width:420px}.ru-auth__aside{display:none}.ru-auth__main{padding:30px 20px 24px}}
.ru-auth__badge{display:inline-block;background:var(--rui-accent-soft);color:var(--rui-accent);font-weight:700;font-size:11px;border-radius:999px;padding:5px 12px;margin:0 0 14px}
.ru-auth__title{font-size:23px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}
.ru-auth__lead{color:var(--rui-text-muted);font-size:13px;margin:0 0 20px}

/* Formulaire compact */
.ru-auth .ru-form{text-align:left}
.ru-auth .ru-field{display:block;margin:0 0 12px}
.ru-auth .ru-field__label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ru-texte-2,#14314b);margin:0 0 5px}
.ru-auth .ru-field input,.ru-auth .ru-field select{width:100%;background:var(--rui-surface);border:1px solid var(--rui-border-strong);border-radius:var(--rui-radius-sm);padding:11px 13px;font-size:13.5px;color:var(--rui-text);outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.ru-auth .ru-field input:focus,.ru-auth .ru-field select:focus{border-color:var(--rui-accent);box-shadow:0 0 0 3px var(--rui-accent-soft)}
.ru-auth .ru-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%230e2438' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.ru-auth .ru-field-row{display:flex;gap:10px}
/* Règles du mot de passe sous le champ. */
.ru-auth .ru-field__aide{display:block;margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--rui-text-muted,#3f4a5a)}
.ru-auth .ru-field-row+.ru-field__aide{margin:-4px 0 12px}
.ru-auth .ru-field-row .ru-field{flex:1}
.ru-auth .ru-form__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 16px;font-size:12.5px}
.ru-auth .ru-checkbox{display:flex;align-items:center;gap:8px;color:var(--ru-texte-2,#14314b);cursor:pointer}
.ru-auth .ru-checkbox input{width:15px;height:15px;accent-color:var(--rui-accent)}
.ru-auth .ru-checkbox--consent{align-items:flex-start;margin:2px 0 14px;font-size:11.5px;line-height:1.45;color:var(--rui-text-muted)}
.ru-auth .ru-checkbox--consent a{color:var(--rui-accent);font-weight:700}
.ru-auth .ru-form__link{font-size:12.5px;font-weight:700;color:var(--rui-accent);text-decoration:none;white-space:nowrap}
.ru-auth .ru-form__link:hover{text-decoration:underline}
.ru-auth .ru-btn--primary{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;background:var(--rui-accent);color:var(--rui-on-accent);border:0;border-radius:var(--rui-radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}
.ru-auth .ru-btn--primary:hover{background:var(--rui-accent-fonce)}
.ru-auth__foot{margin-top:16px;font-size:12.5px;color:var(--rui-text-muted);text-align:center}
.ru-auth__foot a{color:var(--rui-accent);font-weight:700;text-decoration:none;margin-left:5px}
.ru-auth__foot a:hover{text-decoration:underline}
.ru-auth .ru-notice{border-radius:var(--rui-radius-sm);padding:11px 13px;font-size:13px;margin:0 0 16px;text-align:left}
.ru-auth .ru-notice--error{background:var(--rui-error-bg);border:1px solid rgba(180,35,24,.25);color:var(--rui-error-text)}
.ru-auth .ru-notice--success{background:var(--rui-success-bg);border:1px solid rgba(26,127,55,.25);color:var(--rui-success-text)}

/* Page de confirmation : pastille + 3 etapes */
.ru-auth__chip{display:inline-flex;align-items:center;gap:7px;background:var(--rui-success-bg);color:var(--rui-success-text);border:1px solid rgba(26,127,55,.25);font-size:12px;font-weight:700;border-radius:999px;padding:6px 13px;margin:0 0 14px}
.ru-auth__chip .dot{width:8px;height:8px;border-radius:50%;background:var(--rui-success-text)}
.ru-steps{text-align:left;display:flex;flex-direction:column;gap:11px;margin-top:4px}
.ru-step{display:flex;align-items:center;gap:13px;text-decoration:none;border-radius:var(--rui-radius-sm);padding:14px 16px;transition:border-color .15s,background-color .15s}
.ru-step__num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.ru-step__t{flex:1}
.ru-step__t b{display:block;font-size:14px;color:var(--rui-text);font-weight:700}
.ru-step__t span{display:block;font-size:12px;margin-top:2px}
.ru-step__arrow{font-size:16px;font-weight:700}
.ru-step--hero{background:var(--rui-accent-soft);border:1px solid var(--rui-accent-filet)}
.ru-step--hero .ru-step__num{background:var(--rui-accent);color:var(--rui-on-accent)}
.ru-step--hero .ru-step__t b{color:var(--rui-text)}
.ru-step--hero .ru-step__t span{color:var(--rui-accent)}
.ru-step--hero .ru-step__arrow{color:var(--rui-accent)}
.ru-step--out{background:var(--rui-surface);border:1px solid var(--rui-border)}
.ru-step--out:hover{border-color:var(--rui-accent-filet)}
.ru-step--out .ru-step__num{background:var(--ru-surface-2,#F4F4F5);color:var(--rui-text)}
.ru-step--out .ru-step__t span{color:var(--rui-text-muted)}
.ru-step--out .ru-step__arrow{color:var(--rui-accent)}

/* Etape 2 : connexion sociale, separateur, bouton fantome, code 2FA */
.ru-social{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:2px 0 4px}
.ru-social__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:var(--rui-radius-sm);padding:11px 10px;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;border:1px solid var(--rui-border-strong);background:var(--rui-surface);color:var(--rui-text);transition:border-color .15s,background-color .15s}
.ru-social__btn:hover{border-color:var(--rui-accent-filet)}
.ru-social__ic{flex:0 0 auto;display:block;width:18px;height:18px}
.ru-social__btn--google{border-color:var(--rui-border-strong)}
.ru-social__btn--facebook{background:#1877F2;border-color:#1877F2;color:#fff}
.ru-social__btn--facebook:hover{background:#0f6ae0;border-color:#0f6ae0}
.ru-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--rui-text-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ru-or::before,.ru-or::after{content:"";flex:1;height:1px;background:var(--rui-border)}
.ru-auth .ru-btn--ghost{display:flex;align-items:center;justify-content:center;width:100%;background:transparent;color:var(--rui-text);border:1px solid var(--rui-border-strong);border-radius:var(--rui-radius-sm);padding:11px;font-size:13px;font-weight:700;cursor:pointer;margin-top:9px;transition:border-color .15s,color .15s}
.ru-auth .ru-btn--ghost:hover{border-color:var(--rui-accent-filet);color:var(--rui-accent);background:transparent}
.ru-code-input{letter-spacing:10px;text-align:center;font-size:24px;font-weight:800;font-family:Consolas,Menlo,monospace}

/* Oeil des champs de mot de passe : afficher ou masquer ce qui est tapé. */
.ru-mdp{position:relative;display:block}
.ru-mdp input,.ru-auth .ru-field .ru-mdp input{padding-right:46px}
.ru-mdp-oeil{position:absolute;top:50%;right:5px;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--rui-text-muted,#6b7280);cursor:pointer;transition:color .15s,background .15s}
.ru-mdp-oeil:hover{color:var(--rui-text,#0e2438);background:var(--rui-accent-soft,rgba(44,111,181,.12))}
.ru-mdp-oeil:focus-visible{outline:2px solid var(--rui-accent,#1d5c8f);outline-offset:1px}
.ru-mdp-oeil .ru-mdp-barre{display:none}
.ru-mdp-oeil[aria-pressed="true"] .ru-mdp-barre{display:inline}

/* Ligne des droits sous la carte (« © 2025 », réglage annee_droits). */
.ru-auth__wrap{flex-direction:column}
.ru-auth__droits{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--rui-text-muted);text-align:center}

/* Standard mobile (livraison 8) : téléphone et tablette seulement ;
 * l'ordinateur ne change pas. Champs de 16 px (aucun zoom automatique),
 * hauteur et cibles de 44 px, une colonne au téléphone. */
@media (max-width:999px){
body.ru-auth .ru-field input,body.ru-auth .ru-field select{font-size:16px;min-height:44px}
.ru-auth .ru-btn--primary,.ru-auth .ru-btn--ghost,.ru-social__btn{min-height:44px}
.ru-auth .ru-checkbox{min-height:44px}
.ru-auth .ru-form__link,.ru-auth__foot a{display:inline-flex;align-items:center;min-height:44px}
.ru-mdp input,.ru-auth .ru-field .ru-mdp input{padding-right:50px}
.ru-mdp-oeil{width:44px;height:44px;right:2px}
}
@media (max-width:720px){
.ru-auth .ru-field-row{flex-direction:column;gap:0}
.ru-social{grid-template-columns:1fr}
.ru-auth .ru-form__row{flex-wrap:wrap}
}

/* Livraison 7, lot D : styles sortis des pages (plus de style="" fixe). */
.ru-auth .ru-essai-note{border:1px solid var(--ru-attention,#b45309);background:var(--ru-attention-doux,rgba(180,83,9,.08));color:var(--ru-texte,#0e2438)}
.ru-auth .ru-social__conditions{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--rui-text-muted)}
.ru-pot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ru-auth .cf-turnstile{margin:6px 0 14px}
/* Questions « journaliste » et « artiste » dans les formulaires du portail. */
.ru-auth .ru-decl{margin:4px 0 14px}
.ru-auth .ru-decl__titre{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ru-texte-2,#14314b)}
/* Bouton plein posé dans le pied de la carte : aligné sur les champs (pas de décalage). */
.ru-auth .ru-auth__foot a.ru-btn{margin-left:0}
/* Message posé juste sous le titre (lien invalide, lien de connexion) : jamais collé. */
.ru-auth .ru-auth__title + .ru-notice{margin-top:14px}
