@import url(../../../stylesheets/application.css);
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Datacampus 2026 Theme - Based on datacampus.fr graphic charter */
/* Colors: Blue #03a9f4 | Green #00bf87 | Orange #f79007 | Dark #1a1a2e */

/**********************************************************/
/* LOGO */
/**********************************************************/

#header > h1 {
	background-image: url(../images/logo-datacampus.png);
	background-repeat: no-repeat;
	background-size: 150px 60px;
	background-position: 25px -5px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
	#header > h1 {
		background-image: url(../images/logo-datacampus.png);
		background-size: 150px 60px;
	}
}

/**********************************************************/
/* COMMON */
/**********************************************************/

body {
	color: #4a4a5a;
	font-size: 14px;
	line-height: 1.4;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

input, textarea, select {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	font-size: 12px;
}

a, a:link, a:visited {
	color: #03a9f4;
}

a:hover {
	color: #0277bd;
}

#main {
	background-color: #f8fafc;
	padding: 0px 20px;
}

#main.nosidebar {
	background-color: #fff;
}

div#content {
	margin-left: -20px;
	padding-left: 25px;
	padding-top: 15px;
}

#footer {
	margin-bottom: 12px;
	padding-top: 18px;
	padding-left: 25px;
	padding-right: 25px;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
	font-size: 12px;
}

#footer a, #footer a:visited {
	color: #6b7280;
}

#footer a:hover {
	color: #03a9f4;
	text-decoration: none;
}

input[type="text"].live_search_field,
input[type="text"].questions-search.autocomplete {
	border-radius: 40px;
	height: 28px;
	outline: none;
}

input[type="text"].questions-search.autocomplete {
	padding-left: 30px !important;
}

h2 {
	font-size: 25px;
	font-weight: 600;
	margin-top: 10px;
	color: #1a1a2e;
}

h3 {
	color: #1a1a2e;
}

#sidebar a.selected {
	background-color: #f8fafc;
	color: #1a1a2e;
	line-height: inherit;
	padding: inherit;
	margin-left: inherit;
}

img.gravatar {
	padding: 2px;
	border: solid 1px #e5e7eb;
	background: #fff;
	vertical-align: middle;
	border-radius: 4px;
}

/**********************************************************/
/* HEADER */
/**********************************************************/

#header {
	background-color: #1a1a2e;
	min-height: 5em;
	padding: 0px;
}

#header > h1 {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 1px;
	padding: 25px 10px 25px 200px;
	margin: 0px;
}

#header > h1 .breadcrumbs {
	margin-top: -5px;
}

#quick-search {
	margin: 20px 10px;
}

#quick-search select {
	max-width: 300px;
}

#quick-search input[type="text"] {
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.2);
	background-color: rgba(255,255,255,0.1);
	color: #fff;
	padding: 4px 14px;
}

#quick-search input[type="text"]:focus {
	border-color: #03a9f4;
	background-color: rgba(255,255,255,0.15);
}

/**********************************************************/
/* TOP-MENU */
/**********************************************************/
#top-menu {
	background: #141425;
	padding: 7px 20px 2px 25px;
	font-size: 0.9em;
}

#top-menu a {
	margin-right: 15px;
	font-weight: normal;
	color: #6b7280;
}

#top-menu a:hover {
	color: #fff;
	text-decoration: none;
}

/**********************************************************/
/* MAIN-MENU */
/**********************************************************/

#main-menu {
	left: 0px;
	width: 100%;
	background-color: #222240;
	font-weight: 500;
	position: relative;
	height: auto;
	box-sizing: border-box;
}

#main-menu ul {
	padding: 0 15px;
	width: 100%;
	white-space: nowrap;
}

#main-menu li {
	margin: 0px;
	padding: 13px 0px;
	float: none;
	display: inline-block;
}

#main-menu li > a {
	color: #9da2a6;
	transition: color 0.2s ease;
}

#main-menu li a:hover, #main-menu li a.selected, #main-menu li a.selected:hover {
	background: none;
	color: #fff;
}

#main-menu li a.selected {
	border-bottom: 2px solid #03a9f4;
	padding-bottom: 11px;
}

#main-menu .menu-button {
	position: absolute;
	right: 10px;
	top: 16px;
	text-indent: 66em;
	overflow: hidden;
	cursor: pointer;
	width: 24px;
	height: 16px;
	background: url(../images/menu_button.png) no-repeat;
	background-size: 16px 16px;
}

#main-menu .menu-button:hover {
	background: url(../images/menu_button_hover.png) no-repeat;
	background-size: 16px 16px;
}

/* new object + button */
#main-menu li a.new-object {
	background-color: #00bf87;
	color: #fff;
	border-radius: 4px;
	padding: 6px 12px;
}

#main-menu li a.new-object:hover {
	background-color: #00a876;
}

#main-menu .menu-children {
	border: 0px;
	margin-top: 13px;
	left: 0px;
}

#main-menu .menu-children,
#main-menu .menu-children li {
	padding: 0px;
}

#main-menu .menu-children li a {
	padding: 10px 25px;
}

#main-menu .menu-children li a {
	background: #222240;
	color: #9da2a6;
	font-weight: bold;
}

#main-menu .menu-children li a:hover {
	color: #fff;
	background: #2a2a4a;
}

/* tab buttons*/

#main-menu div.tabs-buttons {
	position: absolute;
	right: 0;
	width: 60px;
	height: 100%;
	background: #222240;
	bottom: 0;
	border: 0px;
}

#main-menu button.tab-left, #main-menu button.tab-right {
	cursor: pointer;
	height: 100%;
	border: 0px;
	position: absolute;
	padding: 4px;
	width: 25px;
	bottom: 0px;
	border-radius: 0px;
	background: #222240;
	color: #9da2a6;
	font-weight: bold;
}
#main-menu button.tab-left:hover, #main-menu button.tab-right:hover {
	background-color: #222240;
	color: #fff;
}
#main-menu button.tab-left:focus, #main-menu button.tab-right:focus {
	outline: 0;
}

#main-menu button.tab-left {
	right: 25px;
}

#main-menu button.tab-left::before {
	content: "\25C0";
	background: none;
}

#main-menu button.tab-right::before {
	right: 0;
	content: "\25b6";
	background: none;
}

#main-menu button.tab-left.disabled, #main-menu button.tab-right.disabled {
	background-color: #222240;
	cursor: unset;
	color: #555;
}

/**********************************************************/
/* SIDEBAR */
/**********************************************************/
#sidebar {
	line-height: 1.4;
}

#sidebar h3 {
	font-size: 14px;
	font-weight: 600;
	margin-top: 20px;
	margin-bottom: 5px;
	color: #1a1a2e;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 11px;
}

#sidebar p {
	margin-top: 5px;
}

/**********************************************************/
/* FLASH MESSAGES */
/**********************************************************/
#errorExplanation, div.flash, .nodata, .warning, .conflict {
	border: 0px;
	font-weight: 500;
	padding-top: 18px;
	padding-bottom: 18px;
	border-radius: 6px;
}

div.flash.notice, #flash_notice {
	background: #00bf87;
	color: #fff;
}

div.flash.error, #errorExplanation {
	background: #e52817;
	color: #fff;
}

div.flash.warning, .conflict {
	background-image: none;
	background-color: #fff3e0;
	color: #e68200;
	border: 1px solid #f79007;
}

#errorExplanation ul {
	font-size: 14px;
}

/* ============================================================ */
/* LOGIN PAGE                                                    */
/* ============================================================ */

/* Full-page login layout - dark gradient background */
body.controller-account.action-login {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
}

.controller-account.action-login #wrapper,
.controller-account.action-login #main,
.controller-account.action-login #main.nosidebar,
.controller-account.action-login #content {
	background: transparent !important;
	background-color: transparent !important;
}

.controller-account.action-login #main {
	min-height: calc(100vh - 70px);
	display: flex;
	flex-direction: column !important;
	align-items: center;
	justify-content: center;
	padding: 20px !important;
	margin: 0 !important;
}

.controller-account.action-login #content {
	text-align: center;
	padding-top: 0 !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: auto !important;
	max-width: 480px;
	flex-grow: 0 !important;
	align-self: center !important;
}

.controller-account.action-login #top-menu {
	background: transparent !important;
}

/* ASCII art - hidden */
.dc-login-ascii {
	display: none !important;
}

/* Welcome text (injected by JS) */
.dc-login-welcome {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 4px;
	letter-spacing: -0.5px;
}

.dc-login-subtitle {
	color: rgba(255,255,255,0.5);
	font-size: 14px;
	margin-bottom: 28px;
	font-weight: 400;
}

#login-form table {
	border: 0px;
	padding: 30px;
}

#login-form {
	background: rgba(255,255,255,0.07);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 12px;
	padding: 32px 36px;
	box-shadow: 0 8px 32px rgba(0,0,0,0.3);
	max-width: 400px;
	margin: 0 auto;
}

#login-form label {
	display: block;
	font-weight: 500;
	color: rgba(255,255,255,0.7);
	margin-bottom: 6px;
	margin-top: 16px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-align: left;
}

#login-form input[type="text"],
#login-form input[type="password"] {
	width: 100%;
	padding: 10px 14px;
	height: 42px;
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 8px;
	font-size: 14px;
	color: #fff;
	background: rgba(255,255,255,0.08);
	transition: all 0.2s;
	box-sizing: border-box;
}

#login-form input[type="text"]::placeholder,
#login-form input[type="password"]::placeholder {
	color: rgba(255,255,255,0.3);
}

#login-form input[type="text"]:focus,
#login-form input[type="password"]:focus {
	border-color: #03a9f4;
	background: rgba(255,255,255,0.12);
	box-shadow: 0 0 0 3px rgba(3,169,244,0.2);
	outline: none;
}

#login-form input[type="submit"] {
	width: 100%;
	height: 44px;
	margin-top: 24px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 8px;
	background: linear-gradient(135deg, #03a9f4, #0277bd);
	color: #fff;
	border: none;
	cursor: pointer;
	transition: all 0.2s;
	letter-spacing: 0.5px;
}

#login-form input[type="submit"]:hover {
	background: linear-gradient(135deg, #29b6f6, #0288d1);
	box-shadow: 0 4px 16px rgba(3,169,244,0.4);
	transform: translateY(-1px);
}

#login-form a.lost_password {
	display: block;
	text-align: center;
	font-size: 12px;
	color: rgba(255,255,255,0.5);
	margin-top: 16px;
	float: none !important;
}

#login-form a.lost_password:hover {
	color: #29b6f6;
}

#login-form label[for="autologin"],
#login-form label.block {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	font-size: 12px;
	color: rgba(255,255,255,0.5);
	text-transform: none;
	letter-spacing: 0;
}

#login-form input[type="checkbox"] {
	accent-color: #03a9f4;
}

/* Hide header/footer on login for clean look */
.controller-account.action-login #header {
	background: transparent !important;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}

.controller-account.action-login #footer {
	color: rgba(255,255,255,0.3);
	border-top-color: rgba(255,255,255,0.05);
}

.controller-account.action-login #footer a {
	color: rgba(255,255,255,0.3);
}

/**********************************************************/
/* WIKI */
/**********************************************************/
.wiki h1, .wiki h2, .wiki h3 {
	font-weight: 600;
	color: #1a1a2e;
}

.wiki h1 {
	font-size: 28px;
	margin-top: 10px;
}

.wiki h2 {
	font-size: 20px;
}

.wiki h3 {
	font-size: 16px;
}

.wiki.wiki-page {
	color: #4a4a5a;
}

/**********************************************************/
/* TAGS */
/**********************************************************/
span.tag-label-color {
	border: 0px !important;
	padding: 4px 8px !important;
	border-radius: 20px !important;
	line-height: 13px;
}

span.tag-label-color:hover {
	opacity: 0.7;
}

.tagit-new .ui-autocomplete-input {
	box-shadow: none;
}

.tagit-close .text-icon {
	top: -3px;
	position: relative;
}

div#content ul.tagit li {
	margin: 2px 5px 1px 0;
}

div#content .contacts-tags-edit ul.tagit {
	border-radius: 4px;
	border: 1px solid #e5e7eb;
}

/**********************************************************/
/* Context Menu */
/**********************************************************/
div#content .context-menu-selection {
	background-color: #03a9f4 !important;
}

div#content #context-menu ul {
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

div#content #context-menu li a {
	color: #1a1a2e;
}

div#content #context-menu li:hover {
	background: #e1f5fe;
	color: #1a1a2e;
	border: 1px solid #e1f5fe;
	border-radius: 0px;
}

div#content #context-menu a.disabled, div#content #context-menu a.disabled:hover {
	color: #aaa;
}

/**********************************************************/
/* TIP */
/**********************************************************/
div.tooltip:hover span.tip {
	border: 1px solid #d1d5db;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/**********************************************************/
/* jQuery UI */
/**********************************************************/
.ui-widget, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	font-size: 1em;
}

.ui-widget input, .ui-widget select, .ui-widget textarea {
	font-size: 12px;
}

.ui-widget-overlay {
	background: #1a1a2e;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
	opacity: 0.6;
}

div.modal {
	padding: 10px;
}

.ui-dialog.modal .ui-widget-header {
	border: 0px;
	color: #1a1a2e;
	background: #f8fafc;
	padding-top: 18px;
	padding-bottom: 18px;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	border-bottom: solid 1px #e5e7eb;
	margin: -10px -10px 5px -10px;
	border-radius: 0px;
}

.ui-datepicker .ui-widget-header {
	background: #fff;
	border: 0px;
	border-bottom: solid 1px #e5e7eb;
	border-radius: 0px;
	padding: 5px;
	margin: -1px;
}

.ui-widget-content {
	background: grey;
}
.ui-widget-content select, .ui-widget-content input[type="text"],
.ui-datepicker .ui-datepicker-title select {
	font-size: 12px;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
	background: #f3f4f6;
	color: #1a1a2e;
	border: 1px solid #f3f4f6;
	border-radius: 0px;
}

.ui-widget-header .ui-datepicker-title {
	color: #1a1a2e;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	border: 1px solid #f3f4f6;
}

.ui-datepicker .ui-datepicker-buttonpane button {
	font-weight: normal;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
	background: #fff3e0;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
	background: #e1f5fe;
}

.ui-widget-header .ui-icon-circle-triangle-e {
	background: url(../images/next.png) no-repeat 0px 0px;
}

.ui-widget-header .ui-icon-circle-triangle-w {
	background: url(../images/prev.png) no-repeat 0px 0px;
}

.ui-datepicker .ui-datepicker-next {
	top: 5px;
	right: 10px;
}

.ui-datepicker .ui-datepicker-prev {
	top: 5px;
	left: 10px;
}

.ui-datepicker th {
	color: #6b7280;
	font-weight: 500;
}

.ui-datepicker .ui-state-default {
	font-weight: 500;
	color: #1a1a2e;
	border: 1px solid #fff;
	background: #fff;
}

.ui-datepicker .ui-state-default:hover {
	background: #f3f4f6;
}

.ui-datepicker .ui-state-active {
	background: #e1f5fe;
}

.ui-datepicker .ui-state-highlight {
	color: #f79007;
}

.ui-datepicker .ui-state-highlight:hover {
	background-color: #fff3e0;
}

#ui-datepicker-div {
	padding: 10px;
}

.ui-datepicker .ui-datepicker-buttonpane {
	padding-top: 0.5em;
}

.ui-datepicker-week-col, .ui-datepicker .ui-priority-secondary {
	color: #6b7280;
}

.ui-dialog .ui-dialog-titlebar-close {
	right: 1em;
	background: #f8fafc;
	border: 0px;
}

.ui-widget-header .ui-icon.ui-icon-closethick {
	background: url(../images/close.png) no-repeat 0px 0px;
}

.ui-widget-header .ui-state-hover .ui-icon.ui-icon-closethick {
	background: url(../images/close_active.png);
}

/**********************************************************/
/* BUTTONS */
/**********************************************************/
#ajax-modal p.buttons input,
.ui-datepicker .ui-datepicker-buttonpane button,
.details input[type="submit"],
input[type="button"],
input[type="submit"],
input[type="submit"][name="continue"],
input[type="submit"].small,
input[type="submit"].button-small {
	color: #4a4a5a;
	line-height: 30px;
	font-weight: 500;
	text-align: center;
	height: 32px;
	padding: 0 16px 0;
	border: 1px solid #e5e7eb;
	font-size: 13px;
	background: #f8fafc;
	border-radius: 6px;
	transition: all 0.2s ease;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#ajax-modal p.buttons input[type="submit"],
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close,
input[type="submit"] {
	background: #03a9f4;
	border-color: transparent;
	color: #fff;
}

#ajax-modal p.buttons input[type="submit"]:hover,
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close.ui-state-hover,
input[type="submit"]:hover {
	background: #0277bd;
	color: #fff;
}

#ajax-modal p.buttons input:hover,
.ui-datepicker .ui-datepicker-buttonpane button.ui-state-hover,
input[type="submit"][name="continue"]:hover,
input[type="button"]:hover,
.details input[type="submit"]:hover,
input[type="submit"].small:hover,
input[type="submit"].button-small:hover {
	background-color: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	color: #1a1a2e;
	transition-duration: 0.1s;
}

input[type="submit"].button-small,
input[type="button"].small,
.details input[type="submit"],
.ui-datepicker .ui-datepicker-buttonpane button,
.query-columns td.buttons input[type="button"],
input[type="submit"].small {
	height: 26px;
	padding: 0 13px 0;
	line-height: 23px;
	font-size: 12px;
}

/**********************************************************/
/* FORMS COMMON */
/**********************************************************/
input[type="text"],
input[type="date"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
fieldset#filters td.values input {
	padding: 1px 10px;
	background-color: #fff;
	color: #1a1a2e;
	border-radius: 4px;
	height: 22px;
	border: 1px solid #e5e7eb;
	margin: 0px;
	transition: border-color 0.2s ease;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus,
fieldset#filters td.values input:focus {
	border-color: #03a9f4;
	outline: none;
	box-shadow: 0 0 0 3px rgba(3,169,244,0.1);
}

.box {
	padding: 15px;
	background: #f8fafc;
	border: solid 1px #e5e7eb;
	border-radius: 6px;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	z-index: 1;
	padding: 4px 30px 4px 10px;
	background-color: #fff;
	color: #1a1a2e;
	cursor: pointer;
	border: 1px solid #e5e7eb;
	background: url(../images/select.png) no-repeat right #fff;
	background-size: 18px 16px;
	text-indent: 0.01px;
	text-overflow: "";
	border-radius: 4px;
	height: 26px;
	transition: border-color 0.2s ease;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
	select {
		background: url(../images/select2x.png) no-repeat right #fff;
		background-size: 18px 16px;
	}
}

@-moz-document url-prefix() {
	select {
		padding: 4px 0px 4px 5px;
	}
}

select::-ms-expand {
	display: none;
}

select[multiple="multiple"] {
	height: auto;
	background: #fff;
	padding: 5px 10px;
}

.jstElements button {
	border-radius: 4px;
}

textarea {
	background-color: #fff;
	color: #1a1a2e;
	border-radius: 4px;
	border: 1px solid #e5e7eb;
	transition: border-color 0.2s ease;
}

input.hasDatepicker {
	padding-right: 25px;
}

img.ui-datepicker-trigger {
	position: relative;
	margin-left: -26px;
	margin-right: 10px;
}

/**********************************************************/
/* FORMS SPECIFIC */
/**********************************************************/
input#issue_subject,
input#content_comments {
	width: 97%;
}

.contact-issues input#issue_subject {
	width: 93%;
}

/**********************************************************/
/* TABS */
/**********************************************************/

#content .tabs ul {
	border-bottom: 1px solid #e5e7eb;
}

#content .tabs ul li a {
	border: 1px solid #e5e7eb;
	background-color: #f3f4f6;
	border-radius: 4px 4px 0 0;
	color: #4a4a5a;
	transition: all 0.2s ease;
}

#content .tabs ul li a.selected {
	border: 1px solid #e5e7eb;
	border-bottom: 1px solid #FFF;
	background-color: #fff;
	color: #03a9f4;
	font-weight: 600;
}

#content .tabs ul li a.selected:hover {
	border-top: 1px solid #e5e7eb;
	border-left: 1px solid #e5e7eb;
	border-right: 1px solid #e5e7eb;
}

#content .tabs ul li a:hover {
	border-top: 1px solid #e1f5fe;
	border-left: 1px solid #e1f5fe;
	border-right: 1px solid #e1f5fe;
	background-color: #e1f5fe;
}

#content .box .tabs ul li a.selected {
	background-color: #f8fafc;
	border-bottom: 1px solid #f8fafc;
}

#content .tabs .tabs-buttons {
	background: #fff;
	border: 0px;
	height: 28px;
	width: 50px;
	border-bottom: 1px solid #e5e7eb;
}

#content .tabs .tabs-buttons button.tab-left, #content .tabs .tabs-buttons button.tab-right {
	cursor: pointer;
	height: 100%;
	border: 1px solid #e5e7eb;
	border-radius: 0px;
}

#content .tabs .tabs-buttons button.tab-left.disabled, #content .tabs .tabs-buttons button.tab-right.disabled {
	border: 1px solid #d1d5db;
}

/**********************************************************/
/* TABLES */
/**********************************************************/
table.list tbody td, table.list tbody tr:hover td { border: solid 1px #e5e7eb; }
table.list thead th {
	border-width: 1px;
	border-style: solid;
	border-color: #e5e7eb;
	background-color: #f8fafc;
	color: #1a1a2e;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

table.list thead th a,
table.list thead th a:link,
table.list thead th a:visited {
	color: #1a1a2e;
	text-decoration: none;
}

table.list thead th a:hover {
	color: #03a9f4;
}

table.list td,
table.list th {padding: 6px 8px;}
table.list input[type="checkbox"] {margin-top: 6px;}

table.list tbody tr:hover {background-color: #e1f5fe;}
table.list tr.issue a { color: #4a4a5a; }

tr.odd.priority-highest, table.list tbody tr.odd.priority-highest:hover { color: #900; font-weight: bold; }
tr.odd.priority-highest { background: #FFE2E2; }
tr.even.priority-highest, table.list tbody tr.even.priority-highest:hover { color: #900; font-weight: bold; }
tr.even.priority-highest { background: #FAEFEF; }
tr.priority-highest a, tr.priority-5:hover a { color: #900; }
tr.odd.priority-highest td, tr.even.priority-highest td { border-color: #FDC9C9; }

tr.odd.priority-high2, table.list tbody tr.odd.priority-high4:hover { color: #900; }
tr.odd.priority-high2 { background: #FFE2E2; }
tr.even.priority-high2, table.list tbody tr.even.priority-high4:hover { color: #900; }
tr.even.priority-high2 { background: #FAEFEF; }
tr.priority-high2 a { color: #900; }
tr.odd.priority-high2 td, tr.even.priority-high4 td { border-color: #FDC9C9; }

tr.odd.priority-high3, table.list tbody tr.odd.priority-high3:hover { color: #900; }
tr.odd.priority-high3 { background: #fee; }
tr.even.priority-high3, table.list tbody tr.even.priority-high3:hover { color: #900; }
tr.even.priority-high3 { background: #fff2f2; }
tr.priority-high3 a { color: #900; }
tr.odd.priority-high3 td, tr.even.priority-high3 td { border-color: #fcc; }

tr.odd.priority-lowest, table.list tbody tr.odd.priority-lowest:hover { color: #559; }
tr.odd.priority-lowest { background: #e1f5fe; }
tr.even.priority-lowest, table.list tbody tr.even.priority-lowest:hover { color: #559; }
tr.even.priority-lowest { background: #f0faff; }
tr.priority-lowest a { color: #559; }
tr.odd.priority-lowest td, tr.even.priority-lowest td { border-color: #b3e5fc; }

/**********************************************************/
/* OBJECTS */
/**********************************************************/
div.person,
div.contact,
div.deal {
	border: 0px !important;
	padding: 10px !important;
}

table.progress td {padding: 0px;}

table.progress .closed {
	background-color: #00bf87;
}

table.progress .done {
	background-color: #03a9f4;
}

div.details {padding: 20px !important;}

/**********************************************************/
/* CUSTOM DATACAMPUS ACCENTS */
/**********************************************************/

/* Progress bars with brand colors */
.progress-bar {
	background-color: #03a9f4;
}

/* Activity entries */
#activity dt, .journal h4 {
	border-bottom: 1px solid #e5e7eb;
}

/* My page blocks */
.mypage-box {
	border-radius: 6px;
	border: 1px solid #e5e7eb;
}

/**********************************************************/
/* RESPONSIVE */
/**********************************************************/
@media all and (max-width: 899px)
{
	body #header {
		background-color: #1a1a2e;
	}

	body .flyout-menu {
		background-color: #141425;
	}

	body .flyout-menu__avatar {
		margin-left: 8px;
	}

	body .flyout-menu__avatar img.gravatar {
		width: 32px;
		height: 32px;
		padding: 2px;
		border: solid 1px #e5e7eb;
		background: #fff;
		vertical-align: middle;
		border-radius: 4px;
		margin-top: 3px;
	}

	body .flyout-menu a {
		color: #9da2a6;
	}
	body .flyout-menu h3 {
		background-color: #141425;
		border-color: #141425;
	}
}

/**********************************************************/
/* SELECT2 */
/**********************************************************/

.select2-container--default .select2-selection--single {
	background-position: 4px 50%;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	height: 26px;
	outline: none;
}

.select2-container--default .select2-selection--multiple {
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	outline: none;
}

.select2-container--default.select2-container--open .select2-selection,
.select2-container--default .select2-selection:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: #03a9f4;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 24px;
	line-height: 25px;
	font-size: 12px;
	outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 25px;
	outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #6b7280 transparent transparent transparent;
}
.select2-dropdown {
	border: 1px solid #03a9f4;
	border-radius: 4px;
}

.select2-results__option--highlighted {
	background-color: #03a9f4 !important;
}

/**********************************************************/
/* REDMINE 5.0 SPECIFIC FIXES */
/**********************************************************/

/* Redmine 5.0 no longer loads base application.css separately,
   theme CSS replaces it. Override remaining default styles. */

/* Main content area */
html body #main {
	background-color: #f8fafc !important;
}

html body #main.nosidebar {
	background-color: #f8fafc !important;
}

/* Wrapper & body background */
#wrapper {
	background: #f8fafc !important;
}

body {
	background: #f8fafc !important;
}

/* Redmine 5.0 responsive.css overrides */
#header {
	background-color: #1a1a2e !important;
}

/* Account page styling */
.controller-account #content {
	text-align: center;
}

.controller-account #content h2 {
	color: #1a1a2e;
}

/* MFA / Two-Factor Authentication pages */
[class*="controller-twofa"] #content input,
[class*="controller-otp"] #content input,
.controller-account #content input[name*="otp"],
.controller-account #content input[name*="code"],
.controller-account #content input[name*="token"],
#login-form input[type="number"],
#login-form input[type="tel"] {
	padding: 10px 14px;
	height: 42px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-size: 16px;
	color: #1a1a2e;
	background: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: textfield;
	text-align: center;
	letter-spacing: 4px;
	position: relative;
	z-index: 1;
}

[class*="controller-twofa"] #content input:focus,
[class*="controller-otp"] #content input:focus,
.controller-account #content input[name*="otp"]:focus,
.controller-account #content input[name*="code"]:focus,
.controller-account #content input[name*="token"]:focus,
#login-form input[type="number"]:focus,
#login-form input[type="tel"]:focus {
	border-color: #03a9f4;
	outline: none;
	box-shadow: 0 0 0 3px rgba(3,169,244,0.2);
}

/* Ensure MFA form is clickable and visible */
[class*="controller-twofa"] #content form,
[class*="controller-otp"] #content form {
	position: relative;
	z-index: 1;
}

[class*="controller-twofa"] #content .box,
[class*="controller-otp"] #content .box {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 20px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
	max-width: 400px;
	margin: 20px auto;
}

/* My page blocks */
.mypage-box {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 15px 20px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.mypage-box h3,
.mypage-box h3 a {
	color: #1a1a2e;
	font-weight: 600;
	font-size: 16px;
}

.mypage-box h3 a:hover {
	color: #03a9f4;
}

/* My account page */
#my-account .splitcontent {
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	padding: 15px;
}

/* Registration form */
#new_user .box {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* Issue list - Redmine 5.0 additions */
table.list {
	border-radius: 6px;
	overflow: hidden;
}

/* Pagination */
.pagination {
	color: #6b7280;
	font-size: 13px;
}

.pagination a {
	color: #03a9f4;
}

.pagination a:hover {
	color: #0277bd;
}

.pagination .current {
	background: #03a9f4;
	color: #fff;
	border-radius: 4px;
	padding: 2px 8px;
}

/* Project list */
.projects.box {
	background: #fff;
}

.projects li.root a.project {
	font-weight: 600;
	color: #1a1a2e;
}

/* Breadcrumbs - Redmine 5.0 */
#header a {
	color: #9da2a6;
}

#header a:hover {
	color: #fff;
}

/* Quick search in header */
#quick-search #q {
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.2);
	background-color: rgba(255,255,255,0.1);
	color: #fff;
	padding: 4px 14px;
}

#quick-search #q:focus {
	border-color: #03a9f4;
	background-color: rgba(255,255,255,0.15);
}

/* Redmine 5.0 dropdowns */
.drdn .drdn-content {
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.drdn-content a {
	color: #4a4a5a;
}

.drdn-content a:hover {
	background: #e1f5fe;
	color: #1a1a2e;
}

/* Redmine 5.0 issue detail - see ISSUE DETAIL PAGE section below */

.issue .next-prev-links a {
	color: #03a9f4;
}

/* Redmine 5.0 top menu account dropdown */
#top-menu .drdn-trigger {
	color: #9da2a6;
}

#top-menu .drdn-trigger:hover {
	color: #fff;
}

/* Road map / Version */
.version-overview .bar {
	border-radius: 4px;
}

/* Redmine 5.0 toggle links */
.toggle-multiselect {
	color: #03a9f4;
}

/* Custom fields */
p.cf_value {
	color: #4a4a5a;
}

/* Diff / Repository */
.changeset-changes {
	color: #4a4a5a;
}

/* Overall link styling for consistency */
a:hover {
	color: #0277bd;
	text-decoration: none;
}

/**********************************************************/
/* ADDITIONAL POLISH */
/**********************************************************/

/* Project overview boxes */
.box {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 6px;
}

/* ============================================================ */
/* ISSUE DETAIL PAGE - Enhanced presentation                    */
/* ============================================================ */

/* Issue container */
div.issue {
	background: #f5f6f8 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	padding: 24px 28px !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	margin-bottom: 20px;
}

/* Issue subject / title */
div.issue div.subject h3 {
	color: #1a1a2e;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 2px solid #e5e7eb;
}

/* Attributes table (Statut, Priorité, Assigné, etc.) */
div.issue .attributes {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 16px 20px;
	margin: 16px 0;
}

div.issue .attributes .attribute {
	padding: 6px 0;
}

div.issue .attribute .label {
	color: #6b7280;
	font-weight: 500;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	float: left;
	width: 170px;
	margin-left: 0 !important;
}

div.issue .attribute .value {
	color: #1a1a2e;
	font-weight: 500;
	margin-left: 180px;
}

/* Description section */
div.issue .wiki {
	padding: 16px 0;
	line-height: 1.7;
	color: #374151;
}

div.issue .wiki p {
	margin-bottom: 10px;
}

/* Issue navigation (prev/next) */
.issue .next-prev-links {
	background: #f8fafc;
	border-radius: 6px;
	padding: 6px 12px;
	display: inline-block;
}

/* Contextual actions (edit, copy, delete links) */
div.issue .contextual {
	font-size: 13px;
}

div.issue .contextual a {
	padding: 4px 10px;
	border-radius: 4px;
	transition: background 0.15s ease;
}

div.issue .contextual a:hover {
	background: #e1f5fe;
}

/* ============================================================ */
/* JOURNAL / HISTORY ENTRIES                                     */
/* ============================================================ */

div.journal {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 16px 20px !important;
	margin-bottom: 12px !important;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}

div.journal.has-notes {
	border-left: 3px solid #03a9f4;
}

div.journal h4 {
	color: #1a1a2e;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px solid #f3f4f6;
}

div.journal .wiki {
	color: #374151;
	line-height: 1.6;
	padding: 8px 0;
}

div.journal .details {
	color: #6b7280;
	font-size: 12px;
	padding: 6px 0 !important;
}

div.journal .details li {
	padding: 2px 0;
}

div.journal .details li strong {
	color: #4a4a5a;
}

/* ============================================================ */
/* RELATED ISSUES & SUBTASKS                                     */
/* ============================================================ */

div#relations, div.issues {
	margin-top: 16px;
}

div#relations .contextual,
.subtasks .contextual {
	font-size: 12px;
}

hr.issues {
	border: none;
	border-top: 1px solid #e5e7eb;
	margin: 12px 0;
}

/* ============================================================ */
/* ATTACHMENTS / FILES                                           */
/* ============================================================ */

div.attachments {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 14px 18px;
	margin: 12px 0;
	background: #fafbfc;
}

div.attachments p {
	margin: 4px 0;
}

div.attachments a.icon-attachment {
	color: #03a9f4;
}

div.attachments a.icon-attachment:hover {
	color: #0277bd;
}

div.attachments .size {
	color: #9ca3af;
	font-size: 11px;
}

div.attachments .author {
	color: #6b7280;
	font-size: 11px;
}

/* ============================================================ */
/* ISSUE DETAIL - PROGRESS BAR                                   */
/* ============================================================ */

div.issue table.progress {
	border-radius: 4px;
	overflow: hidden;
	height: 8px;
}

div.issue .progress-info {
	font-size: 12px;
	color: #6b7280;
	font-weight: 500;
}

/* Status badges - make them look like pills */
td.status, td.tracker {
	font-size: 13px;
}

/* Contextual links (top right of content) */
.contextual a {
	color: #03a9f4;
}

.contextual a:hover {
	color: #0277bd;
}

.contextual .icon-add {
	color: #00bf87;
}

/* Fieldset / filters */
fieldset {
	border: 1px solid #e5e7eb;
	border-radius: 6px;
}

fieldset legend {
	color: #1a1a2e;
	font-weight: 600;
}

/* Wiki preview */
#preview fieldset {
	background: #f8fafc;
}

/* Checklist items */
input[type="checkbox"] {
	accent-color: #03a9f4;
}

/* Project tree list */
.projects li {
	border-bottom: 1px solid #f3f4f6;
	padding: 6px 0;
}

.projects li a.project {
	font-weight: 500;
	color: #03a9f4;
}

.projects li a.project:hover {
	color: #0277bd;
}

/* Gantt */
.gantt_hdr {
	background-color: #f8fafc;
	color: #1a1a2e;
}

/* Calendar */
table.cal .even {
	background: #f8fafc;
}

table.cal .odd {
	background: #fff;
}

table.cal th {
	background: #1a1a2e;
	color: #fff;
}

/* Sidebar enhancements */
#sidebar h3 {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #1a1a2e;
	border-bottom: 2px solid #e5e7eb;
	padding-bottom: 6px;
}

#sidebar a {
	color: #03a9f4;
}

#sidebar a:hover {
	color: #0277bd;
}

/* Top menu active state */
#top-menu a.active,
#top-menu a:hover {
	color: #fff;
}

/* Remove default Redmine icon sprite colors for our brand */
.icon-add::before {
	color: #00bf87;
}

/* Action buttons alignment */
p.buttons {
	margin-top: 15px;
}

/* Highlighted/selected text */
::selection {
	background: #e1f5fe;
	color: #1a1a2e;
}

/* Smooth transitions everywhere */
a, input, select, textarea, button {
	transition: all 0.15s ease;
}

/**********************************************************/
/* BADGE PILLS (tracker & status cells) */
/**********************************************************/

/* Base badge style - applied by theme.js */
.dc-badge {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 500;
	line-height: 18px;
	white-space: nowrap;
}

/* Tracker badges */
.dc-badge-tracker-production { background: #fff3e0; color: #e68200; }
.dc-badge-tracker-support    { background: #e1f5fe; color: #0277bd; }
.dc-badge-tracker-commercial { background: #e0f7ef; color: #00a876; }
.dc-badge-tracker-interne    { background: #f3f4f6; color: #4a4a5a; }

/* Status badges - each status has a unique color */
.dc-badge-status-nouveau          { background: #fde8e8; color: #c81e1e; }  /* URGENT - Rouge vif */
.dc-badge-status-en-cours         { background: #e1f5fe; color: #0277bd; }  /* Bleu - travail actif */
.dc-badge-status-gele             { background: #ede9fe; color: #6d28d9; }  /* Violet - gelé/suspendu */
.dc-badge-status-en-attente       { background: #fff3e0; color: #e68200; }  /* Orange - en attente */
.dc-badge-status-devis            { background: #e0f2f1; color: #00796b; }  /* Teal - action commerciale */
.dc-badge-status-commande         { background: #fce4ec; color: #ad1457; }  /* URGENT - Rose foncé */
.dc-badge-status-resolu           { background: #e0f7ef; color: #00a876; }  /* Vert - terminé */
.dc-badge-status-ferme            { background: #e8f5e9; color: #2e7d32; }  /* Vert foncé - clos */
.dc-badge-status-rejete           { background: #f3f4f6; color: #6b7280; }  /* Gris - refusé */

/* Urgent badge animation - subtle pulse for Nouveau & Commande à traiter */
.dc-badge.dc-urgent {
	font-weight: 700;
	animation: dc-pulse 2s ease-in-out infinite;
}

@keyframes dc-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(200, 30, 30, 0.3); }
	50% { box-shadow: 0 0 0 4px rgba(200, 30, 30, 0); }
}

/* Fallback badge colors by row class (CSS only, no JS needed) */
tr.tracker-2 td.tracker { color: #e68200; }  /* Production */
tr.tracker-3 td.tracker { color: #0277bd; }  /* Support */
tr.tracker-7 td.tracker { color: #00a876; }  /* Commercial */
tr.tracker-11 td.tracker { color: #4a4a5a; } /* Interne */

tr.status-1 td.status { color: #c81e1e; font-weight: 700; }  /* Nouveau - URGENT */
tr.status-2 td.status { color: #0277bd; }                      /* En cours */
tr.status-8 td.status { color: #6d28d9; }                      /* Gelé */
tr.status-9 td.status { color: #e68200; }                      /* En attente client */
tr.status-11 td.status { color: #00796b; }                     /* Devis à faire */
tr.status-13 td.status { color: #ad1457; font-weight: 700; }  /* Commande à traiter - URGENT */
tr.status-3 td.status { color: #00a876; }                      /* Résolu */
tr.status-5 td.status { color: #2e7d32; }                      /* Fermé */
tr.status-6 td.status { color: #6b7280; }                      /* Rejeté */

/* Center tracker and status columns */
td.tracker, td.status {
	text-align: center;
}

/* Section titles - blue link style like preview */
.mypage-box h3 a,
.mypage-box h3 a:visited {
	color: #03a9f4 !important;
}

.mypage-box h3 a:hover {
	color: #0277bd !important;
}
