/* iManage — menu (v3.4.1)
   v3.4.1 — règles .lang-switcher-group retirées (déplacées dans le composant language-switcher). */

#notification_main_bar {
	/* La MÊME hauteur que la boîte et que la barre de message : elle est
	   héritée de #notification_box (--nt-h, toast.css). Elle était écrite en
	   dur ICI, dans un autre fichier que les deux autres — c'est ce qui les a
	   laissées diverger sans que personne ne le voie (06/09/2026). */
	height: var(--nt-h, 48px);
	background: transparent;
}

.notification_main_content {
	display: flex;
	align-items: center;
	height: 48px;
	width: 100%;
	padding-right: 12px;
	padding-left:  12px;
	margin-right: auto;
	margin-left:  auto;
}
@media (min-width: 576px)  { .notification_main_content { max-width: 540px;  } }
@media (min-width: 768px)  { .notification_main_content { max-width: 720px;  } }
@media (min-width: 992px)  { .notification_main_content { max-width: 960px;  } }
@media (min-width: 1200px) { .notification_main_content { max-width: 1140px; } }
@media (min-width: 1400px) { .notification_main_content { max-width: 1320px; } }

.notification_main_content .navbar-brand {
	flex-shrink: 0;
}

.notification_main_content .navbar-brand img {
	height: 28px;
	width: auto;
}

#content_title {
	flex: 1;
	position: relative;
	top: 0;
	/* NI CAPITALES FORCÉES, NI APPROCHE ÉLARGIE (05/09/2026). Les deux
	   allaient de pair : l'approche large existe pour rendre lisible un texte
	   en CAPITALES. La règle maison interdisant les capitales forcées, chaque
	   projet neutralisait `text-transform` de son côté — et gardait l'approche,
	   qui ne faisait plus qu'étirer un texte en casse normale.
	   On retire les deux à la source. Le titre suit désormais l'approche par
	   défaut du corps. */
	color: var(--text-on-dark);
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.notification_bar_actions {
	display: flex;
	align-items: center;
	/* Les trois contrôles se lisent comme UN groupe : thème, rechargement,
	   déconnexion. Ils paraissaient dispersés non pas à cause de l'écart entre
	   eux — 4px — mais du vide DANS chaque bouton : une icône de 16px centrée
	   dans une boîte de 36 laisse 10px de part et d'autre, soit 24px entre deux
	   glyphes. Resserrer l'écart n'y aurait presque rien changé ; c'est la
	   boîte qu'il fallait réduire (06/09/2026). */
	gap: 2px;
	flex-shrink: 0;
}

.session_controls {
	opacity: 0.7;
	transition: opacity var(--transition);
	display: none !important;
	align-items: center;
	justify-content: center;
	/* 30px, comme tout contrôle de l'application (--btn-h). Ces trois-là
	   étaient restés à 36 : ils dépassaient leurs voisins d'un demi-pas et
	   écartaient les icônes de 24px l'une de l'autre. */
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: var(--text-on-dark);
	cursor: pointer;
}

.session_controls.visible {
	display: inline-flex !important;
}

/* Au DOIGT, la cible reprend de l'ampleur sans que l'icône bouge : 30px se
   vise à la souris, pas au pouce. Le seuil est le type de pointeur, jamais une
   largeur d'écran — une tablette large se touche aussi. */
@media (pointer: coarse) {
	.session_controls { width: 40px; height: 40px; line-height: 40px; }
}

.session_controls:hover { opacity: 1; }

.persistent_control {
	opacity: 0.7;
	transition: opacity var(--transition);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	color: var(--text-on-dark);
	cursor: pointer;
}

.persistent_control:hover { opacity: 1; }

.navbar {
	position: sticky;
	/* Collé SOUS le bandeau, quelle que soit sa hauteur du moment. */
	top: var(--nt-h, 48px);
	z-index: 1030;
	background: var(--bg-navbar) !important;
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: var(--separator);
	padding: 8px 0;
	transition: background var(--transition);
}

.navbar-brand img {
	opacity: 0.9;
	transition: opacity var(--transition);
}

.navbar-brand:hover img {
	opacity: 1;
}

.nav-link {
	color: var(--text-primary) !important;
	font-weight: 500;
	padding: 6px 14px !important;
	border-radius: var(--radius-sm);
	transition: background var(--transition);
}

.nav-link > .fa-solid,
.nav-link > .fa-regular {
	margin-right: 6px;
	width: 1.1em;
	text-align: center;
}

.nav-link:hover {
	background: var(--bg-content);
}

.dropdown-menu {
	border: var(--separator);
	border-radius: var(--radius-md);
	padding: 6px;
	background: var(--bg-surface);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	animation: dropdown-in var(--transition-fast) ease-out;
}

@keyframes dropdown-in {
	from { opacity: 0; transform: translateY(-4px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.dropdown-item {
	padding: 7px 12px;
	border-radius: var(--radius-sm);
	color: var(--text-primary);
	transition: background var(--transition);
}

.dropdown-item:hover, .dropdown-item:focus {
	background: var(--accent);
	color: var(--text-on-accent);
}

.dropdown-header {
	font-weight: 600;
	color: var(--text-secondary);
	padding: 7px 12px 4px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dropdown-divider {
	margin: 4px 12px;
	opacity: 0.15;
}

.dropdown-menu-columns {
	columns: 2;
	column-gap: 4px;
	column-rule: 1px solid var(--border);
	min-width: 480px;
}

.dropdown-group {
	break-inside: avoid;
	list-style: none;
}

.dropdown-group + .dropdown-group {
	margin-top: 2px;
}

#user {
	color: var(--text-secondary);
}

#user strong {
	color: var(--text-primary);
	font-weight: 600;
}

/* ════════════════════════════════════════════════
   App theming — top bar & navbar overrides
   ════════════════════════════════════════════════ */

#notification_main_bar { background: var(--bg-notification); }
#notification_box .navbar-brand img { height: 32px; }

.notification_main_content .navbar-brand {
    color: var(--text-on-dark);
    font-weight: 700;
    letter-spacing: 0.18em;
    font-size: var(--font-size-menu);
    text-decoration: none;
}
.notification_main_content .navbar-brand:hover { color: var(--text-on-dark); }

/* Seconde définition du titre de barre — c'est ELLE qui s'appliquait, la
   première étant plus haut dans le fichier. Corriger l'une sans l'autre ne
   changeait rien à l'écran : constaté le 05/09/2026, l'approche restait à
   1,82px après une première correction.
   Capitales et approche élargie retirées ici aussi : les deux allaient de pair,
   et la règle maison interdit les capitales forcées. Le titre suit désormais
   l'approche par défaut du corps. */
#content_title {
    color: var(--text-on-dark);
    opacity: var(--opacity-strong);
    font-size: var(--font-size-menu);
    font-weight: 500;
    text-align: center;
}

.session_controls {
    font-size: var(--font-size-lg);
    opacity: 0.7;
    transition: opacity var(--transition-fast) ease-out, transform var(--transition-fast) ease-out;
}
.session_controls:hover { opacity: 1; transform: translateY(-1px); cursor: pointer; }

.navbar {
    background: var(--paper) !important;
    border-bottom: 1px solid var(--border);
    padding: 6px 0;
}

.navbar .navbar-nav {
    align-items: center;
    column-gap: 0;
    /* Compense le padding-left du 1er .nav-link (14px ci-dessous) pour que
       son TEXTE soit aligné avec le bord du container, donc avec le contenu
       de la page (#requested_content) qui n'a pas de padding interne. */
    margin-left: -14px;
}
@media (max-width: 767.98px) {
    /* Menu mobile : collapse vertical, le décalage négatif n'a plus de sens */
    .navbar .navbar-nav { margin-left: 0; }
}
.navbar .navbar-nav .nav-item.dropdown {
    position: relative;
    display: flex;
    align-items: center;
}
.navbar .navbar-nav .nav-item.dropdown + .nav-item.dropdown::before {
    content: "";
    width: 1px;
    height: 18px;
    background: var(--border);
    margin: 0 4px;
    align-self: center;
    opacity: 0.7;
}

.navbar .nav-link {
    color: var(--ink-soft);
    font-weight: 500;
    font-size: var(--font-size-menu);
    line-height: 1;
    padding: 9px 14px !important;
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background var(--transition-fast) ease-out, color var(--transition-fast) ease-out;
}
.navbar .nav-link:hover {
    background: var(--line-soft);
    color: var(--accent-dark);
}

.navbar .nav-link.dropdown-toggle.show,
.navbar .nav-link.dropdown-toggle[aria-expanded="true"] {
    background: var(--accent-soft);
    color: var(--accent-dark);
}
.navbar .nav-link.dropdown-toggle.show .fa-regular,
.navbar .nav-link.dropdown-toggle.show .fa-solid,
.navbar .nav-link.dropdown-toggle[aria-expanded="true"] .fa-regular,
.navbar .nav-link.dropdown-toggle[aria-expanded="true"] .fa-solid {
    color: var(--accent);
}

.navbar .nav-link .fa-regular,
.navbar .nav-link .fa-solid {
    color: var(--muted);
    font-size: var(--font-size-menu);
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}
.navbar .nav-link:hover .fa-regular,
.navbar .nav-link:hover .fa-solid { color: var(--accent); }

.navbar .nav-link.dropdown-toggle::after {
    margin-left: 4px;
    vertical-align: middle;
    opacity: var(--opacity-muted);
}

.dropdown-menu {
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-md);
    padding: 6px;
    min-width: 220px;
    z-index: 1045;
}
.dropdown-item {
    padding: 7px 12px;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-menu);
    color: var(--ink-soft);
}
.dropdown-item:hover, .dropdown-item:focus {
    background: var(--accent-soft);
    color: var(--accent-dark);
}
.dropdown-divider {
    margin: 4px 6px;
    border-top: 1px solid var(--line-soft);
}

.user-info-trigger {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.25;
    cursor: pointer;
    padding: 5px 8px 4px;
    border-radius: var(--radius-md);
    transition: background var(--transition-fast) ease;
    user-select: none;
}
.user-info-trigger:hover,
.user-info-trigger.ua-open { background: var(--line-soft); }

#user {
    font-size: var(--font-size-menu);
    color: var(--ink);
    display: flex;
    align-items: center;
    gap: 5px;
}
#user strong { font-weight: 600; }
#user .fa-regular { color: var(--muted); font-size: var(--font-size-sm); }

/* Poste affiché sous le nom dans le déclencheur. */
.ua-job-inline {
    font-size: var(--font-size-xs);
    color: var(--muted);
    font-weight: 400;
}
.ua-job-inline:empty { display: none; }
