/* ============================================================================
 * mantis-chrome.css — Habillage de la navbar / sidebar / fil d'Ariane Mantis.
 *
 * Plugin PragmaOneTheme. Injecte GLOBALEMENT (EVENT_LAYOUT_RESOURCES) sur les
 * pages a layout Mantis -> pose le bandeau de marque PragmaOne (IHM-3) sur
 * toutes les pages natives (liste tickets, admin, etc.). La page d'accueil etant
 * autonome (sans layout), elle ne charge PAS cette feuille (pas de double header).
 *
 * Strategie : on RECOLORE la structure native via ses selecteurs stables
 * (#navbar, #sidebar, #breadcrumbs, .navbar-brand) -> faible risque, pas de 2e
 * barre. La zone de contenu reste claire (lisibilite). Le libelle de marque
 * vient de $g_window_title ("Portail PragmaOne"). Palette IHM-5/TECH-5.
 *
 * NB logo : l'URL de fond est RACINE-RELATIVE (/plugin_file.php?...), valable car
 * Mantis est servi a la racine du domaine (cas prod/test). Une CSS servie par
 * plugin_file.php ne resout pas les url() relatives -> on passe par une URL
 * racine-relative plutot que relative.
 * ========================================================================== */

:root {
	--p1-bg-primary: #0F1729;
	--p1-bg-deep:    #050810;
	--p1-bg-card:    #1A2238;
	--p1-bg-input:   #131C33;
	--p1-accent:     #0046FF;
	--p1-accent-h:   #3366FF;
	--p1-lime:       #E3FF65;
	--p1-text:       #E2E8F0;
	--p1-text-strong:#FFFFFF;
	--p1-text-muted: #94A3B8;
	--p1-text-faint: #64748B;
	--p1-border:     rgba(255, 255, 255, 0.08);
}

/* --- Navbar (barre du haut) ------------------------------------------------- */
#navbar.navbar,
#navbar .navbar-container {
	background-color: var(--p1-bg-primary) !important;
	border-color: var(--p1-border) !important;
	box-shadow: none !important;
}

/* Marque : logo (en fond) + libelle window_title */
#navbar .navbar-brand {
	display: inline-flex !important;
	align-items: center;
	color: var(--p1-text-strong) !important;
	font-weight: 700;
}
#navbar .navbar-brand::before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 32px;
	margin-right: 12px;
	background: url("/plugin_file.php?file=PragmaOneTheme/logos/LOGO-PRAGMAONE-white-tight.svg") no-repeat center;
	background-size: contain;
}

/* Liens et menus de la navbar */
#navbar .nav > li > a {
	color: var(--p1-text-muted) !important;
	background-color: transparent !important;
}
#navbar .nav > li > a:hover,
#navbar .nav > li > a:focus,
#navbar .nav > li.open > a {
	color: var(--p1-text-strong) !important;
	background-color: rgba(255, 255, 255, 0.06) !important;
}

/* --- Sidebar (menu lateral) ------------------------------------------------- */
#sidebar.sidebar {
	background-color: var(--p1-bg-card) !important;
	border-right: 1px solid var(--p1-border) !important;
}
#sidebar .nav-list > li > a {
	color: var(--p1-text-muted) !important;
	background-color: transparent !important;
}
#sidebar .nav-list > li > a:hover,
#sidebar .nav-list > li > a:focus {
	color: var(--p1-text-strong) !important;
	background-color: rgba(255, 255, 255, 0.05) !important;
}
#sidebar .nav-list > li.active > a {
	color: var(--p1-text-strong) !important;
	background-color: rgba(0, 70, 255, 0.15) !important;
}
/* Indicateur de l'item actif -> accent de marque */
#sidebar .nav-list > li.active > a::after,
#sidebar .nav-list > li.active::before {
	border-color: var(--p1-accent) !important;
	background-color: var(--p1-accent) !important;
}
/* Bouton de repli de la sidebar */
#sidebar #sidebar-btn .fa,
#sidebar .sidebar-toggle {
	color: var(--p1-text-muted) !important;
}

/* --- Fil d'Ariane ----------------------------------------------------------- */
#breadcrumbs {
	background-color: var(--p1-bg-primary) !important;
	border-bottom: 1px solid var(--p1-border) !important;
}
#breadcrumbs .breadcrumb,
#breadcrumbs .breadcrumb > .active {
	color: var(--p1-text) !important;
}
#breadcrumbs .breadcrumb a {
	color: var(--p1-text-muted) !important;
}
#breadcrumbs .breadcrumb a:hover {
	color: var(--p1-accent) !important;
}

/* "Visite recemment : ..." (div.nav-recent) : libelle + liens sur fond navy */
#breadcrumbs .nav-recent {
	color: var(--p1-text-muted) !important;
}
#breadcrumbs .nav-recent a {
	color: var(--p1-text) !important;
}
#breadcrumbs .nav-recent a:hover {
	color: var(--p1-accent) !important;
}

/* ============================================================================
 * ZONE DE CONTENU — harmonisation vers le bleu de marque PragmaOne.
 * Mantis utilise un bleu par defaut (#478FCA) sur les bandeaux de widgets, les
 * boutons primaires et les liens. On le remplace par le bleu PragmaOne (#0046FF).
 * Scope .page-content pour ne pas retoucher navbar/sidebar (deja themises).
 * On ne touche QUE les variantes bleues -> les widgets rouge/vert/orange
 * (semantique : erreurs, succes...) conservent leur couleur.
 * ========================================================================== */

/* Bandeaux de widgets bleus (ex. "Filtres", "Liste des anomalies") :
 * bleu de marque #0046FF (choix A). La navbar/fil d'Ariane restent en navy. */
.page-content .widget-color-blue > .widget-header,
.page-content .widget-color-blue2 > .widget-header {
	background-color: var(--p1-accent) !important;
	background-image: none !important;
	border-color: var(--p1-accent) !important;
	color: #FFFFFF !important;
}
.page-content .widget-color-blue,
.page-content .widget-color-blue2 {
	border-color: var(--p1-accent) !important;
}

/* Liens de contenu (hors boutons) -> bleu de marque */
.page-content a:not(.btn):not(.label) { color: var(--p1-accent) !important; }
.page-content a:not(.btn):not(.label):hover { color: var(--p1-accent-h) !important; }

/* MAIS les liens DANS un bandeau de bloc bleu (ex. titres de boites de
 * "Mon affichage") doivent rester BLANCS, sinon bleu sur bleu = invisible.
 * Specificite volontairement superieure a la regle generique ci-dessus. */
.page-content .widget-color-blue > .widget-header a:not(.btn),
.page-content .widget-color-blue2 > .widget-header a:not(.btn) {
	color: #FFFFFF !important;
}
.page-content .widget-color-blue > .widget-header a:not(.btn):hover,
.page-content .widget-color-blue2 > .widget-header a:not(.btn):hover {
	color: var(--p1-lime) !important;
}

/* Boutons primaires -> bleu de marque (navbar, contenu, partout) */
.btn-primary {
	background-color: var(--p1-accent) !important;
	border-color: var(--p1-accent) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--p1-accent-h) !important;
	border-color: var(--p1-accent-h) !important;
}

/* ============================================================================
 * PIED DE PAGE — retrait de l'attribution et du logo MantisBT (white-label).
 * On masque uniquement l'element d'interface (.footer) ; les en-tetes de
 * copyright dans le CODE SOURCE Mantis (licence GPL) restent intacts.
 * ========================================================================== */
.footer { display: none !important; }

/* ============================================================================
 * RUBAN "TEST" (D-30) — instance de test uniquement. Pose par PragmaOneTheme
 * (EVENT_LAYOUT_BODY_BEGIN) et par la page d'accueil autonome. Ambre = alerte
 * "pas la prod". Position fixe -> aucune incidence sur la mise en page.
 * ========================================================================== */
.pragmaone-test-ribbon {
	position: fixed;
	top: 16px;
	right: -54px;
	z-index: 99999;
	transform: rotate(45deg);
	background: #F59E0B;
	color: #1D1D1B;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.18em;
	padding: 4px 64px;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
	pointer-events: none;
	font-family: 'Manrope', system-ui, -apple-system, sans-serif;
}

/* ============================================================================
 * PAGE DE CONNEXION (IHM-6/10) — habillage du login natif (single-mode).
 * Scope : body.login-layout (login, mot de passe, signup, mot de passe oublie).
 * NB : la colonne SSO de la maquette relevera du Sprint 2 (MantisEntraOauth) ;
 * ici on habille le formulaire natif username/MP. Cette feuille est deja chargee
 * sur le login (EVENT_LAYOUT_RESOURCES emis par layout_login_page_begin).
 * ========================================================================== */
body.login-layout {
	background:
		radial-gradient(circle at 20% 30%, rgba(0, 70, 255, 0.12) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(227, 255, 101, 0.05) 0%, transparent 50%),
		var(--p1-bg-primary) !important;
	color: var(--p1-text) !important;
	min-height: 100vh;
}

/* Carte de connexion */
body.login-layout #login-box,
body.login-layout .signup-box.widget-box,
body.login-layout .login-container .widget-box {
	background-color: var(--p1-bg-card) !important;
	border: 1px solid var(--p1-border) !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}
body.login-layout .widget-body,
body.login-layout .widget-main {
	background-color: transparent !important;
}

/* Logo */
body.login-layout .login-logo { text-align: center; }
body.login-layout .login-logo img { max-height: 96px; width: auto; }

/* Titre du formulaire */
body.login-layout h4.header,
body.login-layout .widget-main .header {
	color: var(--p1-text-strong) !important;
	border-bottom-color: var(--p1-border) !important;
}

/* Libelles et champs */
body.login-layout label,
body.login-layout .lighter { color: var(--p1-text-muted) !important; }

body.login-layout input.form-control {
	background-color: var(--p1-bg-input) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	color: var(--p1-text-strong) !important;
}
body.login-layout input.form-control::placeholder { color: var(--p1-text-faint) !important; }
body.login-layout input.form-control:focus {
	border-color: var(--p1-accent) !important;
	box-shadow: 0 0 0 3px rgba(0, 70, 255, 0.18) !important;
}
body.login-layout .input-icon > .ace-icon,
body.login-layout .input-icon i { color: var(--p1-text-muted) !important; }

/* Bouton de connexion -> bleu de marque */
body.login-layout .btn-success,
body.login-layout .btn-success.btn-inverse {
	background-color: var(--p1-accent) !important;
	border-color: var(--p1-accent) !important;
	color: #FFFFFF !important;
	text-shadow: none !important;
}
body.login-layout .btn-success:hover,
body.login-layout .btn-success.btn-inverse:hover {
	background-color: var(--p1-accent-h) !important;
	border-color: var(--p1-accent-h) !important;
}

/* Liens secondaires (mot de passe oublie, etc.) */
body.login-layout a { color: var(--p1-text-muted) !important; }
body.login-layout a:hover { color: var(--p1-accent) !important; }
