@font-face {
	font-family: "Droid Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/droid-sans-400.ttf") format("truetype");
}

@font-face {
	font-family: "Droid Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/droid-sans-700.ttf") format("truetype");
}

/*
	ScalarX dashboard foundation.
	Everything below is deliberately scoped to the opt-in body class so the
	historical application remains usable if this stylesheet is not loaded.
*/
body.sx-dashboard {
	--sx-bg: #060606;
	--sx-bg-deep: #020503;
	--sx-bg-soft: #0a0a0a;
	--sx-surface: #050a06;
	--sx-surface-2: #0a140d;
	--sx-panel: #020702;
	--sx-panel-deep: #031003;
	--sx-table: #070b10;
	--sx-table-head: #102010;
	--sx-table-key: #0d180d;
	--sx-ticket-row: #05090d;
	--sx-ticket-row-alt: #080e0a;
	--sx-ticket-heading: #0b160d;
	--sx-border: #223626;
	--sx-line: #2f8a12;
	--sx-line-strong: #54dd00;
	--sx-text: #d9e2ec;
	--sx-text-strong: #f2f2f2;
	--sx-text-soft: #9ab299;
	--sx-heading: #f4fff0;
	--sx-muted-green: #97ff5a;
	--sx-brand: #4efe27;
	--sx-brand-soft: #4aff91;
	--sx-info: #7fd4ff;
	--sx-ok: #64fe2e;
	--sx-warn: #ffd84d;
	--sx-error: #ff4d4d;
	--sx-shadow: rgba(62, 238, 0, 0.14);
	--sx-radius-small: 4px;
	--sx-radius: 6px;
	--sx-radius-large: 8px;
	--sx-canvas-width: 2400px;
	--sx-canvas-gutter: clamp(24px, 4vw, 96px);
	min-height: 100vh;
	margin: 0;
	color: var(--sx-text);
	background:
		radial-gradient(circle at 12% 0%, rgba(84, 221, 0, 0.10), transparent 30rem),
		linear-gradient(180deg, #080808 0%, #000000 100%);
	font-family: "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
	color-scheme: dark;
}

body.sx-dashboard *,
body.sx-dashboard *::before,
body.sx-dashboard *::after {
	box-sizing: border-box;
}

body.sx-dashboard ::selection {
	color: #020503;
	background: var(--sx-muted-green);
}

body.sx-dashboard img {
	max-width: 100%;
	height: auto;
}

/* Accessibility */
body.sx-dashboard .sx-skip-link {
	position: fixed;
	z-index: 10000;
	top: 8px;
	left: 8px;
	padding: 10px 14px;
	color: #ffffff;
	background: #071507;
	border: 1px solid var(--sx-line-strong);
	border-radius: var(--sx-radius-small);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.48);
	text-decoration: none;
	transform: translateY(-160%);
}

body.sx-dashboard .sx-skip-link:focus,
body.sx-dashboard .sx-skip-link:focus-visible {
	outline: 2px solid var(--sx-muted-green);
	outline-offset: 3px;
	transform: translateY(0);
}

body.sx-dashboard :where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--sx-line-strong);
	outline-offset: 3px;
}

/* Brand bar */
body.sx-dashboard .sx-brandbar {
	position: relative;
	z-index: 2;
	width: 100%;
	background-color: #04070b;
	background-image:
		linear-gradient(to bottom, rgba(130, 170, 120, 0.08), rgba(0, 0, 0, 0)),
		repeating-linear-gradient(0deg, rgba(95, 135, 85, 0.08) 0, rgba(95, 135, 85, 0.08) 1px, transparent 1px, transparent 22px),
		repeating-linear-gradient(90deg, rgba(95, 135, 85, 0.08) 0, rgba(95, 135, 85, 0.08) 1px, transparent 1px, transparent 22px);
	background-size: auto, 22px 22px, 22px 22px;
	border-bottom: 1px solid rgba(98, 132, 90, 0.28);
	box-shadow: inset 0 -1px 0 rgba(135, 185, 120, 0.08), 0 8px 16px rgba(0, 0, 0, 0.38);
}

body.sx-dashboard .sx-brandbar__inner {
	display: flex;
	align-items: center;
	width: min(var(--sx-canvas-width), calc(100% - var(--sx-canvas-gutter)));
	min-height: 90px;
	margin: 0 auto;
}

body.sx-dashboard .sx-brand {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	min-width: 0;
	color: var(--sx-heading);
	text-decoration: none;
}

body.sx-dashboard .sx-brand:link,
body.sx-dashboard .sx-brand:visited {
	color: var(--sx-heading);
}

body.sx-dashboard .sx-brand:hover {
	color: var(--sx-muted-green);
	text-decoration: none;
}

body.sx-dashboard .sx-brand__logo {
	display: block;
	width: 225px;
	height: 60px;
	max-width: min(225px, 58vw);
	object-fit: contain;
}

body.sx-dashboard .sx-brand__label,
body.sx-dashboard .sx-brand__meta {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding-left: 18px;
	color: var(--sx-text);
	border-left: 1px solid rgba(84, 221, 0, 0.34);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}

/* Main canvas and footer */
body.sx-dashboard .sx-legacy-canvas,
body.sx-dashboard .sx-canvas {
	display: block;
	width: min(var(--sx-canvas-width), calc(100% - var(--sx-canvas-gutter)));
	min-height: calc(100vh - 190px);
	margin: 0 auto;
	padding: 18px 0 36px;
	overflow-x: auto;
	text-align: center;
	scroll-margin-top: 16px;
}

body.sx-dashboard .sx-legacy-canvas:focus-visible,
body.sx-dashboard .sx-canvas:focus-visible {
	outline: 2px solid rgba(84, 221, 0, 0.58);
	outline-offset: 4px;
}

body.sx-dashboard .sx-legacy-canvas > table {
	margin-right: auto;
	margin-left: auto;
}

/* Dense legacy administration tables keep every column and scroll locally. */
body.sx-dashboard .sx-table-scroll,
body.sx-dashboard .sx-legacy-canvas > center {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scrollbar-color: var(--sx-line) var(--sx-bg-soft);
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

body.sx-dashboard .sx-table-scroll {
	margin: 0 auto;
	padding-bottom: 5px;
}

body.sx-dashboard .sx-table-scroll:focus-visible {
	outline: 2px solid var(--sx-line-strong);
	outline-offset: 3px;
}

body.sx-dashboard .sx-table-scroll::-webkit-scrollbar,
body.sx-dashboard .sx-legacy-canvas > center::-webkit-scrollbar,
body.sx-dashboard .tabnav::-webkit-scrollbar {
	width: 9px;
	height: 9px;
}

body.sx-dashboard .sx-table-scroll::-webkit-scrollbar-track,
body.sx-dashboard .sx-legacy-canvas > center::-webkit-scrollbar-track,
body.sx-dashboard .tabnav::-webkit-scrollbar-track {
	background: var(--sx-bg-soft);
}

body.sx-dashboard .sx-table-scroll::-webkit-scrollbar-thumb,
body.sx-dashboard .sx-legacy-canvas > center::-webkit-scrollbar-thumb,
body.sx-dashboard .tabnav::-webkit-scrollbar-thumb {
	background: var(--sx-line);
	border: 2px solid var(--sx-bg-soft);
	border-radius: 999px;
}

body.sx-dashboard .sx-table-scroll > table {
	margin: 0 auto;
}

body.sx-dashboard .sx-table-scroll--sas > table.liste {
	width: 100%;
	min-width: 1100px;
	max-width: none;
}

body.sx-dashboard .sx-table-scroll.sx-table-scroll--hosts > table.sx-wide-table {
	width: 100%;
	min-width: 2200px;
	max-width: none;
}

body.sx-dashboard .sx-table-scroll.sx-table-scroll--ips > table.sx-wide-table {
	width: 100%;
	min-width: 1450px;
	max-width: none;
}

body.sx-dashboard .sx-table-scroll > table.liste th,
body.sx-dashboard .sx-table-scroll > table.liste td,
body.sx-dashboard .sx-table-scroll > table.sx-wide-table th,
body.sx-dashboard .sx-table-scroll > table.sx-wide-table td {
	word-break: normal;
	overflow-wrap: normal;
}

body.sx-dashboard .sx-table-scroll--sas > table.liste tr > :nth-child(3),
body.sx-dashboard .sx-table-scroll--sas > table.liste tr > :nth-child(4),
body.sx-dashboard .sx-table-scroll--sas > table.liste tr > :nth-child(5),
body.sx-dashboard .sx-table-scroll--sas > table.liste tr > :nth-child(6),
body.sx-dashboard .sx-table-scroll--sas > table.liste tr > :last-child,
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :nth-child(2),
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :nth-child(3),
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :nth-child(5),
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :nth-child(6),
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :nth-child(11),
body.sx-dashboard .sx-table-scroll--hosts > table.sx-wide-table tr > :last-child,
body.sx-dashboard .sx-table-scroll--ips > table.sx-wide-table tr > :first-child,
body.sx-dashboard .sx-table-scroll--ips > table.sx-wide-table tr > :nth-child(3),
body.sx-dashboard .sx-table-scroll--ips > table.sx-wide-table tr > :last-child {
	white-space: nowrap;
}

body.sx-dashboard .sx-table-scroll > table.sx-wide-table tr[bgcolor="#919191" i] > td,
body.sx-dashboard .sx-table-scroll > table.sx-wide-table tr[bgcolor="#919191" i] > th {
	white-space: nowrap;
	overflow-wrap: normal;
}

body.sx-dashboard .sx-mobile-field-label {
	display: none;
}

body.sx-dashboard .sx-wide-table__action-list {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

body.sx-dashboard .sx-wide-table__action-list form {
	display: inline-flex !important;
	margin: 0;
}

/* The SDS application matrix has three columns and can shrink safely. */
body.sx-dashboard .sx-legacy-canvas > p.title + table {
	width: min(960px, 100%) !important;
	table-layout: auto;
	color: var(--sx-text);
	background: var(--sx-table);
	border: 1px solid var(--sx-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--sx-radius);
	overflow: hidden;
}

body.sx-dashboard .sx-legacy-canvas > p.title + table td {
	padding: 8px 10px;
	border-right: 1px solid #101f10;
	border-bottom: 1px solid #101f10;
	overflow-wrap: normal;
}

body.sx-dashboard .sx-legacy-canvas > p.title + table tr > td:last-child {
	border-right: 0;
}

body.sx-dashboard .sx-legacy-canvas > p.title + table tr:last-child > td {
	border-bottom: 0;
}

body.sx-dashboard .sx-legacy-canvas > p.title + table tr[bgcolor="#919191" i] {
	color: var(--sx-heading);
	background: var(--sx-table-head) !important;
}

body.sx-dashboard .sx-legacy-canvas > p.title + table tr[bgcolor="#333333" i] {
	background: var(--sx-table-key) !important;
}

/* Login keeps its historical mark + form composition while centring it. */
body.sx-dashboard .sx-login-layout {
	margin: 2px auto 0;
	border-collapse: separate;
	border-spacing: 22px 0;
}

body.sx-dashboard .sx-login-mark {
	width: 180px;
	vertical-align: middle;
}

body.sx-dashboard .sx-login-mark img {
	display: block;
	width: 180px;
	height: 180px;
}

body.sx-dashboard .sx-login-form-cell {
	vertical-align: middle;
}

body.sx-dashboard .sx-login-form,
body.sx-dashboard .sx-login-panel,
body.sx-dashboard .sx-login-fields {
	max-width: 100%;
	margin: 0 auto;
}

body.sx-dashboard .sx-footer {
	width: 100%;
	padding: 22px 16px 26px;
	color: var(--sx-text-soft);
	background-color: #05090d;
	background-image:
		linear-gradient(to top, rgba(120, 155, 105, 0.06), rgba(0, 0, 0, 0)),
		repeating-linear-gradient(0deg, rgba(80, 115, 75, 0.07) 0, rgba(80, 115, 75, 0.07) 1px, transparent 1px, transparent 22px),
		repeating-linear-gradient(90deg, rgba(80, 115, 75, 0.07) 0, rgba(80, 115, 75, 0.07) 1px, transparent 1px, transparent 22px);
	background-size: auto, 22px 22px, 22px 22px;
	border-top: 1px solid var(--sx-border);
	text-align: center;
}

body.sx-dashboard .sx-footer__copy {
	margin: 0;
	line-height: 1.5;
}

body.sx-dashboard .sx-footer__text {
	color: var(--sx-text-soft) !important;
	font-size: 12px;
	font-weight: 400 !important;
	letter-spacing: 0.02em;
}

/* Application navigation: keep the historical order, including Logout. */
body.sx-dashboard .sx-appnav {
	width: 100%;
	margin: 0 auto 24px;
	border-bottom: 1px solid var(--sx-border);
}

body.sx-dashboard .tabnav,
body.sx-dashboard .sx-appnav__list {
	display: flex;
	align-items: flex-end;
	gap: 4px;
	width: 100%;
	height: auto;
	min-height: 42px;
	margin: 0;
	padding: 6px 0 0;
	overflow-x: auto;
	overflow-y: hidden;
	border: 0;
	list-style: none;
	text-align: left;
	white-space: nowrap;
	scrollbar-color: var(--sx-line) var(--sx-bg-soft);
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

body.sx-dashboard .tabnav li,
body.sx-dashboard .sx-appnav__item {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.sx-dashboard .sx-appnav__item--logout {
	margin-left: 0;
}

body.sx-dashboard .tabnav a:link,
body.sx-dashboard .tabnav a:visited,
body.sx-dashboard .sx-appnav__link:link,
body.sx-dashboard .sx-appnav__link:visited,
body.sx-dashboard .tabnav .logout-button,
body.sx-dashboard .sx-appnav__logout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0;
	padding: 0 15px;
	color: var(--sx-text);
	background: rgba(3, 16, 3, 0.34);
	border: 1px solid rgba(84, 221, 0, 0.30);
	border-bottom: 0;
	border-radius: var(--sx-radius-small) var(--sx-radius-small) 0 0;
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	float: none;
}

body.sx-dashboard .tabnav a:hover,
body.sx-dashboard .sx-appnav__link:hover,
body.sx-dashboard .tabnav .logout-button:hover,
body.sx-dashboard .sx-appnav__logout-button:hover {
	color: var(--sx-muted-green);
	background: rgba(8, 34, 8, 0.88);
	border-color: var(--sx-line);
	text-decoration: none;
}

body.sx-dashboard .tabnav a.active:link,
body.sx-dashboard .tabnav a.active:visited,
body.sx-dashboard .sx-appnav__link.active:link,
body.sx-dashboard .sx-appnav__link.active:visited,
body.sx-dashboard .sx-appnav__link[aria-current="page"] {
	color: var(--sx-heading);
	background: var(--sx-table-head);
	border-color: var(--sx-line-strong);
	box-shadow: inset 0 1px 0 rgba(200, 255, 178, 0.22);
}

body.sx-dashboard .tabnav .logout-form,
body.sx-dashboard .sx-appnav__logout-form {
	float: none;
	margin: 0;
}

body.sx-dashboard .sx-legacy-canvas > ul.tabnav {
	margin-bottom: 24px;
	border-bottom: 1px solid var(--sx-border);
}

/* Type, links, legacy labels and priority states */
body.sx-dashboard a,
body.sx-dashboard a:link,
body.sx-dashboard a:visited {
	color: var(--sx-muted-green);
}

body.sx-dashboard a:hover,
body.sx-dashboard a:active {
	color: var(--sx-brand-soft);
}

body.sx-dashboard .title,
body.sx-dashboard .title_orange,
body.sx-dashboard .titre,
body.sx-dashboard .titre3,
body.sx-dashboard .text,
body.sx-dashboard .text_priority,
body.sx-dashboard .textlow,
body.sx-dashboard .textmedium,
body.sx-dashboard .texthigh,
body.sx-dashboard .textlow2,
body.sx-dashboard .textmedium2,
body.sx-dashboard .texthigh2,
body.sx-dashboard .text2,
body.sx-dashboard .text3,
body.sx-dashboard .liens,
body.sx-dashboard .liens2,
body.sx-dashboard .liensfooter,
body.sx-dashboard .message,
body.sx-dashboard .msg_err,
body.sx-dashboard .form_1_,
body.sx-dashboard .form_1_1,
body.sx-dashboard .form_3_,
body.sx-dashboard .form_3_1 {
	font-family: "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body.sx-dashboard .title {
	margin: 16px 0;
	color: var(--sx-heading);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

body.sx-dashboard .title_orange {
	display: inline-block;
	color: var(--sx-muted-green);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.sx-dashboard .titre,
body.sx-dashboard a.titre:link,
body.sx-dashboard a.titre:visited {
	color: var(--sx-muted-green);
	font-size: 13px;
	font-weight: 700;
	text-underline-offset: 3px;
}

body.sx-dashboard .titre3 {
	color: var(--sx-heading);
	font-size: 13px;
}

body.sx-dashboard .text,
body.sx-dashboard .text_priority {
	color: var(--sx-text);
	font-size: 13px;
}

body.sx-dashboard .textlow,
body.sx-dashboard .textlow2 {
	color: var(--sx-ok);
}

body.sx-dashboard .textmedium,
body.sx-dashboard .textmedium2 {
	color: var(--sx-warn);
}

body.sx-dashboard .texthigh,
body.sx-dashboard .texthigh2 {
	color: var(--sx-error);
}

body.sx-dashboard .textlow,
body.sx-dashboard .textmedium,
body.sx-dashboard .texthigh,
body.sx-dashboard .textlow2,
body.sx-dashboard .textmedium2,
body.sx-dashboard .texthigh2,
body.sx-dashboard .text_priority {
	font-size: 12px;
	font-weight: 700;
}

body.sx-dashboard .text2,
body.sx-dashboard .liens2,
body.sx-dashboard a.liens2:link,
body.sx-dashboard a.liens2:visited {
	color: var(--sx-info);
}

body.sx-dashboard .text3,
body.sx-dashboard .message,
body.sx-dashboard .msg_err {
	color: var(--sx-warn);
}

body.sx-dashboard .liens,
body.sx-dashboard a.liens:link,
body.sx-dashboard a.liens:visited,
body.sx-dashboard button.liens {
	color: var(--sx-muted-green);
	font-size: 13px;
	text-decoration: underline;
	text-decoration-color: rgba(151, 255, 90, 0.58);
	text-underline-offset: 3px;
}

body.sx-dashboard .liens:hover,
body.sx-dashboard a.liens:hover,
body.sx-dashboard button.liens:hover {
	color: var(--sx-brand-soft);
	text-decoration-color: currentColor;
}

body.sx-dashboard .liensfooter,
body.sx-dashboard a.liensfooter:link,
body.sx-dashboard a.liensfooter:visited {
	color: var(--sx-text-soft);
}

body.sx-dashboard hr {
	height: 1px;
	margin: 14px 0;
	background: linear-gradient(90deg, transparent, var(--sx-line), transparent);
	border: 0;
}

/* Alerts */
body.sx-dashboard .error,
body.sx-dashboard .ok {
	display: inline-block;
	max-width: min(900px, calc(100% - 24px));
	margin: 10px auto;
	padding: 10px 14px;
	background: var(--sx-panel);
	border: 1px solid currentColor;
	border-left-width: 4px;
	border-radius: var(--sx-radius-small);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

body.sx-dashboard .error {
	color: var(--sx-error);
	background: rgba(255, 77, 77, 0.10);
}

body.sx-dashboard .ok {
	color: var(--sx-ok);
	background: rgba(57, 118, 24, 0.20);
}

body.sx-dashboard p.error,
body.sx-dashboard p.ok {
	display: block;
	width: fit-content;
}

/* Panels and legacy layout tables */
body.sx-dashboard .sx-panel,
body.sx-dashboard table.presentation {
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	color: var(--sx-text);
	background: linear-gradient(180deg, var(--sx-panel), var(--sx-panel-deep));
	border: 1px solid var(--sx-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--sx-radius-large);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 12px 30px rgba(0, 0, 0, 0.22);
}

body.sx-dashboard table.presentation > tbody > tr > td {
	padding: 11px 13px;
}

body.sx-dashboard table.presentation > tbody > tr:first-child > td {
	padding-top: 15px;
}

body.sx-dashboard table.presentation > tbody > tr:last-child > td {
	padding-bottom: 15px;
}

body.sx-dashboard table.defaut {
	max-width: 100%;
	border-color: var(--sx-border);
}

body.sx-dashboard table.defaut td.defaut {
	padding: 5px;
}

/*
	Data tables are explicit (.liste/.sx-data-table) or detected by their own
	legacy bgcolor rows. Plain nested tables remain untouched because many of
	them are still alignment/action containers.
*/
body.sx-dashboard table.liste,
body.sx-dashboard table.sx-data-table,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) {
	max-width: 100%;
	color: var(--sx-text);
	background: var(--sx-table);
	border: 1px solid var(--sx-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--sx-radius);
	overflow: hidden;
}

body.sx-dashboard table.liste {
	width: min(100%, 1100px);
}

body.sx-dashboard table.sx-data-table {
	width: 100%;
}

body.sx-dashboard table.liste th,
body.sx-dashboard table.liste td,
body.sx-dashboard table.sx-data-table th,
body.sx-dashboard table.sx-data-table td,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) th,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) td {
	padding: 8px 11px;
	color: inherit;
	border-right: 1px solid #101f10;
	border-bottom: 1px solid #101f10;
	line-height: 1.4;
	word-break: normal;
	overflow-wrap: break-word;
}

body.sx-dashboard table.liste tr > :last-child,
body.sx-dashboard table.sx-data-table tr > :last-child,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr > :last-child {
	border-right: 0;
}

body.sx-dashboard table.liste tbody tr:last-child > *,
body.sx-dashboard table.sx-data-table tbody tr:last-child > *,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tbody tr:last-child > * {
	border-bottom: 0;
}

body.sx-dashboard table.liste th,
body.sx-dashboard table.sx-data-table thead th,
body.sx-dashboard table.sx-data-table tr[bgcolor="#919191" i] > td,
body.sx-dashboard table.sx-data-table tr[bgcolor="#919191" i] > th,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#919191" i] > td,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#919191" i] > th {
	color: var(--sx-heading);
	background: var(--sx-table-head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.045em;
}

body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#919191" i] {
	background: var(--sx-table-head) !important;
}

body.sx-dashboard table.sx-data-table tr[bgcolor="#919191" i] {
	background: var(--sx-table-head) !important;
}

body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#333333" i] {
	background: var(--sx-table-key) !important;
}

body.sx-dashboard table.sx-data-table tr[bgcolor="#333333" i] {
	background: var(--sx-table-key) !important;
}

body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#333333" i] > td,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tr[bgcolor="#333333" i] > th,
body.sx-dashboard table.sx-data-table tr[bgcolor="#333333" i] > td,
body.sx-dashboard table.sx-data-table tr[bgcolor="#333333" i] > th {
	color: var(--sx-text-strong);
	background: var(--sx-table-key);
}

body.sx-dashboard tr.up {
	background: #071008;
}

body.sx-dashboard tr.down {
	background: #030704;
}

body.sx-dashboard tr.highlight,
body.sx-dashboard table.liste tbody tr:hover,
body.sx-dashboard table.sx-data-table tbody tr:hover,
body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) tbody tr:hover {
	color: var(--sx-heading);
	background: #102810;
}

body.sx-dashboard td[bgcolor="#00ff00" i],
body.sx-dashboard td[bgcolor="#33ff00" i] {
	color: var(--sx-ok) !important;
	background: rgba(57, 118, 24, 0.28) !important;
}

body.sx-dashboard td[bgcolor="#ff9900" i] {
	color: var(--sx-warn) !important;
	background: rgba(255, 216, 77, 0.14) !important;
}

body.sx-dashboard td[bgcolor="#ff0000" i] {
	color: var(--sx-error) !important;
	background: rgba(255, 77, 77, 0.16) !important;
}

body.sx-dashboard td[bgcolor="#00ff00" i] *,
body.sx-dashboard td[bgcolor="#33ff00" i] *,
body.sx-dashboard td[bgcolor="#ff9900" i] *,
body.sx-dashboard td[bgcolor="#ff0000" i] * {
	color: inherit !important;
}

/* Forms and controls */
body.sx-dashboard input,
body.sx-dashboard select,
body.sx-dashboard textarea,
body.sx-dashboard button {
	font-family: inherit;
	font-size: 13px;
}

body.sx-dashboard input[type="text"],
body.sx-dashboard input[type="password"],
body.sx-dashboard input[type="email"],
body.sx-dashboard input[type="search"],
body.sx-dashboard input[type="url"],
body.sx-dashboard input[type="number"],
body.sx-dashboard input[type="date"],
body.sx-dashboard input[type="datetime-local"],
body.sx-dashboard select,
body.sx-dashboard textarea {
	max-width: 100%;
	min-height: 36px;
	padding: 8px 10px;
	color: var(--sx-text-strong);
	background: #060b08;
	border: 1px solid #2f5a2d;
	border-radius: var(--sx-radius-small);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.42);
	transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

body.sx-dashboard input.texte {
	width: 200px;
	color: var(--sx-text-strong);
}

body.sx-dashboard textarea {
	min-height: 8rem;
	line-height: 1.5;
	resize: vertical;
}

body.sx-dashboard select option {
	color: var(--sx-text-strong);
	background: var(--sx-panel-deep);
}

body.sx-dashboard input::placeholder,
body.sx-dashboard textarea::placeholder {
	color: var(--sx-text-soft);
	opacity: 0.82;
}

body.sx-dashboard input[type="text"]:focus,
body.sx-dashboard input[type="password"]:focus,
body.sx-dashboard input[type="email"]:focus,
body.sx-dashboard input[type="search"]:focus,
body.sx-dashboard input[type="url"]:focus,
body.sx-dashboard input[type="number"]:focus,
body.sx-dashboard input[type="date"]:focus,
body.sx-dashboard input[type="datetime-local"]:focus,
body.sx-dashboard select:focus,
body.sx-dashboard textarea:focus {
	background: #081109;
	border-color: var(--sx-line-strong);
	box-shadow: 0 0 0 3px rgba(84, 221, 0, 0.14), inset 0 1px 2px rgba(0, 0, 0, 0.42);
}

body.sx-dashboard input[type="checkbox"],
body.sx-dashboard input[type="radio"] {
	accent-color: var(--sx-line-strong);
}

body.sx-dashboard button:not(.liens):not(.logout-button),
body.sx-dashboard input[type="submit"],
body.sx-dashboard input[type="button"],
body.sx-dashboard input[type="reset"] {
	min-height: 38px;
	padding: 0 16px;
	color: var(--sx-text-strong);
	background: #10210f;
	border: 1px solid #2f5a2d;
	border-radius: var(--sx-radius-small);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	font-weight: 700;
	line-height: 36px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

body.sx-dashboard button:not(.liens):not(.logout-button):hover,
body.sx-dashboard input[type="submit"]:hover,
body.sx-dashboard input[type="button"]:hover,
body.sx-dashboard input[type="reset"]:hover {
	color: #ffffff;
	background: #183219;
	border-color: #458341;
}

body.sx-dashboard button.liens {
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	color: var(--sx-muted-green);
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	line-height: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

body.sx-dashboard button:disabled,
body.sx-dashboard input:disabled,
body.sx-dashboard select:disabled,
body.sx-dashboard textarea:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

/* Optional reusable structures for incremental template cleanup. */
body.sx-dashboard .sx-action-bar {
	gap: 12px 18px;
	width: 100%;
	margin: 18px 0;
	padding: 12px 14px;
	background: rgba(5, 18, 7, 0.72);
	border: 1px solid rgba(84, 221, 0, 0.24);
	border-radius: var(--sx-radius);
}

body.sx-dashboard :where(div, nav, section).sx-action-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

body.sx-dashboard table.sx-action-bar {
	display: table;
	margin-right: auto;
	margin-left: auto;
	border-collapse: separate;
	border-spacing: 0;
}

body.sx-dashboard td.sx-action-bar {
	display: table-cell;
	text-align: center;
}

body.sx-dashboard :where(div, section).sx-ticket-thread {
	display: grid;
	gap: 12px;
	width: 100%;
	margin: 18px 0;
}

body.sx-dashboard td.sx-ticket-thread {
	display: table-cell;
}

/* The summary already has its own border; its legacy divider doubled the gap before the thread. */
body.sx-dashboard .sx-ticket-summary + hr {
	display: none;
}

body.sx-dashboard .sx-ticket-message,
body.sx-dashboard table.presentation.sx-ticket-detail table.sx-ticket-message {
	padding: 14px 16px;
	color: var(--sx-text);
	background: linear-gradient(180deg, var(--sx-panel), var(--sx-panel-deep));
	border: 1px solid var(--sx-border);
	border-left: 3px solid var(--sx-line);
	border-radius: var(--sx-radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	text-align: left;
}

body.sx-dashboard .sx-ticket-message > :first-child {
	margin-top: 0;
}

body.sx-dashboard .sx-ticket-message > :last-child {
	margin-bottom: 0;
}

body.sx-dashboard table.sx-ticket-message {
	margin: 12px auto;
	padding: 0;
	border-collapse: separate;
	border-spacing: 0;
}

/*
	Ticket conversations contain unusually large cells. Keep their green tint
	structural and alternate near-black graphite rows for sustained reading.
*/
body.sx-dashboard table.sx-ticket-summary,
body.sx-dashboard table.sx-ticket-message {
	background: var(--sx-ticket-row);
}

body.sx-dashboard table.sx-ticket-summary tr > *,
body.sx-dashboard table.sx-ticket-message tr > * {
	background: var(--sx-ticket-row) !important;
}

body.sx-dashboard table.sx-ticket-summary tr:nth-child(even) > *,
body.sx-dashboard table.sx-ticket-message tr:nth-child(even) > * {
	background: var(--sx-ticket-row-alt) !important;
}

body.sx-dashboard table.sx-ticket-summary tr:first-child > *,
body.sx-dashboard table.sx-ticket-message tr:first-child > * {
	background: var(--sx-ticket-heading) !important;
}

body.sx-dashboard table.sx-key-value {
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

body.sx-dashboard table.sx-key-value td,
body.sx-dashboard table.sx-key-value th {
	padding: 7px 10px;
}

body.sx-dashboard table.sx-form-layout {
	max-width: 100%;
	background: transparent;
	border: 0;
}

body.sx-dashboard form.sx-form {
	max-width: 100%;
	margin: 0;
}

body.sx-dashboard form.sx-form--inline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Fluid component layouts: use wide screens without sacrificing legacy order. */
body.sx-dashboard .sx-ticket-create {
	width: min(100%, 1200px) !important;
}

body.sx-dashboard .sx-report-create {
	width: min(100%, 1100px) !important;
}

body.sx-dashboard .sx-ticket-history-filter,
body.sx-dashboard .sx-report-history {
	width: min(100%, 900px) !important;
	table-layout: fixed;
}

body.sx-dashboard .sx-report-stats {
	width: min(100%, 1200px) !important;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value,
body.sx-dashboard .sx-report-create table.sx-key-value {
	width: 100% !important;
	table-layout: fixed;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value td,
body.sx-dashboard .sx-report-create table.sx-key-value td {
	min-width: 0;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value td:first-child:not([colspan]),
body.sx-dashboard .sx-report-create table.sx-key-value td:first-child:not([colspan]),
body.sx-dashboard .sx-ticket-history-filter td:first-child:not([colspan]),
body.sx-dashboard .sx-report-history td:first-child:not([colspan]) {
	width: 190px !important;
	word-break: normal;
	overflow-wrap: normal;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(2):not(:last-child) {
	width: 16px !important;
	padding-right: 0;
	padding-left: 0;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(3) {
	width: auto !important;
}

body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(4) {
	display: none;
}

body.sx-dashboard .sx-ticket-create input[type="text"],
body.sx-dashboard .sx-ticket-create textarea,
body.sx-dashboard .sx-report-create input[type="text"],
body.sx-dashboard .sx-report-create textarea,
body.sx-dashboard .sx-ticket-history-filter select,
body.sx-dashboard .sx-report-history select {
	width: 100% !important;
}

body.sx-dashboard .sx-ticket-create select,
body.sx-dashboard .sx-report-create select {
	width: min(100%, 360px) !important;
}

body.sx-dashboard .sx-ticket-create select[name="id_client"],
body.sx-dashboard .sx-ticket-create select[name="id_host"],
body.sx-dashboard .sx-report-create select[name="id_client"],
body.sx-dashboard .sx-report-create select[name="id_host"] {
	width: 100% !important;
}

body.sx-dashboard .sx-report-stats > tbody > tr > td > table,
body.sx-dashboard .sx-ticket-reply,
body.sx-dashboard .sx-ticket-reply form,
body.sx-dashboard .sx-ticket-reply table,
body.sx-dashboard .sx-ticket-reply textarea {
	width: 100% !important;
}

/* Remaining table-based SAS forms shrink within the legacy canvas. */
body.sx-dashboard .sx-legacy-canvas > center > form > table.liste {
	width: min(100%, 1100px);
	min-width: 0;
	table-layout: fixed;
}

body.sx-dashboard .sx-legacy-canvas > center > form > table.liste[width="80%"] {
	width: 100%;
	min-width: 900px;
	max-width: none;
}

body.sx-dashboard .sx-legacy-canvas > center > form > table.liste input.texte,
body.sx-dashboard .sx-legacy-canvas > center > form > table.liste select,
body.sx-dashboard .sx-legacy-canvas > center > form > table.liste textarea {
	width: 100%;
}

body.sx-dashboard #tree,
body.sx-dashboard #tree ul {
	list-style: none;
}

body.sx-dashboard #tree {
	max-width: 100%;
	padding: 12px 16px;
	background: var(--sx-panel);
	border: 1px solid var(--sx-border);
	border-radius: var(--sx-radius);
	text-align: left;
}

/* Host read/edit views share the same green operational panel language. */
body.sx-dashboard .sx-host-detail,
body.sx-dashboard .sx-host-editor {
	width: min(1200px, 100%);
	margin: 0 auto;
	color: var(--sx-text);
	background: linear-gradient(180deg, var(--sx-panel), var(--sx-panel-deep));
	border: 1px solid var(--sx-line);
	border-radius: var(--sx-radius-large);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 12px 30px rgba(0, 0, 0, 0.22);
	overflow: hidden;
	text-align: left;
}

body.sx-dashboard .sx-host-detail__header,
body.sx-dashboard .sx-host-editor__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 58px;
	padding: 12px 16px;
	background: var(--sx-table-head);
	border-bottom: 1px solid var(--sx-line);
}

body.sx-dashboard .sx-host-detail__header h1,
body.sx-dashboard .sx-host-editor__header h1 {
	margin: 0;
	color: var(--sx-heading);
	font-size: 18px;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.sx-dashboard .sx-host-detail__edit,
body.sx-dashboard .sx-host-editor__header .liens {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 13px;
	background: rgba(9, 28, 10, 0.76);
	border: 1px solid #31572f;
	border-radius: var(--sx-radius-small);
	text-decoration: none;
}

body.sx-dashboard .sx-host-detail__grid,
body.sx-dashboard .sx-host-editor__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

body.sx-dashboard .sx-host-detail__item {
	display: grid;
	grid-template-columns: minmax(130px, 34%) minmax(0, 1fr);
	min-width: 0;
	min-height: 48px;
	margin: 0;
	border-right: 1px solid #101f10;
	border-bottom: 1px solid #101f10;
}

body.sx-dashboard .sx-host-detail__item dt,
body.sx-dashboard .sx-host-detail__item dd {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 9px 12px;
	overflow-wrap: anywhere;
}

body.sx-dashboard .sx-host-detail__item dt {
	color: var(--sx-muted-green);
	background: var(--sx-table-key);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

body.sx-dashboard .sx-host-detail__item dd {
	color: var(--sx-text);
	background: var(--sx-table);
	border-left: 1px solid #101f10;
}

body.sx-dashboard .sx-host-detail__ip {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 12px 16px;
	color: var(--sx-text);
	background: #09170a;
	border-bottom: 1px solid var(--sx-line);
}

body.sx-dashboard .sx-host-detail__ip strong {
	color: var(--sx-muted-green);
	font-size: 11px;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

body.sx-dashboard .sx-host-detail__more h2 {
	margin: 0;
	padding: 12px 16px;
	color: var(--sx-heading);
	background: var(--sx-table-head);
	border-bottom: 1px solid var(--sx-border);
	font-size: 13px;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

body.sx-dashboard .sx-host-detail__content {
	min-height: 120px;
	padding: 16px;
	color: var(--sx-text);
	background: var(--sx-table);
	overflow-wrap: anywhere;
}

body.sx-dashboard .sx-host-editor__grid {
	gap: 0;
	background: var(--sx-table);
}

body.sx-dashboard .sx-host-editor__field,
body.sx-dashboard .sx-host-editor__notes {
	display: grid;
	grid-template-columns: minmax(130px, 34%) minmax(0, 1fr);
	align-items: center;
	min-width: 0;
	min-height: 58px;
	margin: 0;
	padding: 9px 12px;
	border-right: 1px solid #101f10;
	border-bottom: 1px solid #101f10;
}

body.sx-dashboard .sx-host-editor__field > span,
body.sx-dashboard .sx-host-editor__notes > span {
	color: var(--sx-muted-green);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

body.sx-dashboard .sx-host-editor__field input,
body.sx-dashboard .sx-host-editor__field select,
body.sx-dashboard .sx-host-editor__notes textarea {
	width: 100%;
	max-width: 100%;
}

body.sx-dashboard .sx-host-editor__notes {
	grid-template-columns: minmax(130px, 17%) minmax(0, 1fr);
	padding: 14px 16px;
	background: var(--sx-table-head);
	border-right: 0;
}

body.sx-dashboard .sx-host-editor__notes textarea {
	min-height: 260px;
	resize: vertical;
}

body.sx-dashboard .sx-host-editor__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	padding: 14px 16px;
	background: var(--sx-panel);
}

@media (max-width: 1024px) {
	body.sx-dashboard .sx-brandbar__inner,
	body.sx-dashboard .sx-legacy-canvas,
	body.sx-dashboard .sx-canvas {
		width: calc(100% - 20px);
	}

	body.sx-dashboard .sx-legacy-canvas,
	body.sx-dashboard .sx-canvas {
		padding-top: 12px;
	}

	body.sx-dashboard :where(div, nav, section).sx-action-bar {
		flex-wrap: wrap;
	}

	body.sx-dashboard input[type="text"],
	body.sx-dashboard input[type="password"],
	body.sx-dashboard input[type="email"],
	body.sx-dashboard input[type="search"],
	body.sx-dashboard input[type="url"],
	body.sx-dashboard input[type="number"],
	body.sx-dashboard input[type="date"],
	body.sx-dashboard input[type="datetime-local"],
	body.sx-dashboard select {
		min-height: 44px;
	}

	body.sx-dashboard button:not(.liens),
	body.sx-dashboard input[type="submit"],
	body.sx-dashboard input[type="button"],
	body.sx-dashboard input[type="reset"],
	body.sx-dashboard .tabnav a:link,
	body.sx-dashboard .tabnav a:visited,
	body.sx-dashboard .sx-appnav__link:link,
	body.sx-dashboard .sx-appnav__link:visited,
	body.sx-dashboard .tabnav .logout-button,
	body.sx-dashboard .sx-appnav__logout-button {
		min-height: 44px;
	}

	body.sx-dashboard button:not(.liens):not(.logout-button),
	body.sx-dashboard input[type="submit"],
	body.sx-dashboard input[type="button"],
	body.sx-dashboard input[type="reset"] {
		line-height: 42px;
	}

	/* Opt-in administration lists become cards instead of inaccessible wide tables. */
	body.sx-dashboard .sx-table-scroll--cards {
		overflow: visible;
		padding-bottom: 0;
	}

	body.sx-dashboard .sx-table-scroll.sx-table-scroll--cards > table {
		display: block;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100%;
		background: transparent;
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	body.sx-dashboard .sx-table-scroll--cards > table > thead,
	body.sx-dashboard .sx-table-scroll--cards > table > tbody {
		display: block;
		width: 100%;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__heading {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	body.sx-dashboard .sx-table-scroll--ips .sx-wide-table__title,
	body.sx-dashboard .sx-table-scroll--ips .sx-wide-table__title > th {
		display: block;
		width: 100% !important;
	}

	body.sx-dashboard .sx-table-scroll--ips .sx-wide-table__title {
		margin-bottom: 12px;
		border: 1px solid var(--sx-line);
		border-radius: var(--sx-radius);
		overflow: hidden;
	}

	body.sx-dashboard .sx-table-scroll--ips .sx-wide-table__title > th {
		padding: 13px 15px;
		white-space: normal !important;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filters,
	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__row {
		display: grid;
		width: 100%;
	}

	body.sx-dashboard .sx-table-scroll--hosts .sx-wide-table__filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.sx-dashboard .sx-table-scroll--ips .sx-wide-table__filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filters {
		gap: 10px;
		margin-bottom: 14px;
		padding: 12px;
		background: var(--sx-table-head);
		border: 1px solid var(--sx-line);
		border-radius: var(--sx-radius);
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 12px;
		background: var(--sx-table);
		border: 1px solid var(--sx-border);
		border-radius: var(--sx-radius);
		overflow: hidden;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__row > td,
	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filter {
		display: grid;
		grid-template-columns: minmax(112px, 34%) minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		width: auto !important;
		min-width: 0;
		padding: 10px 12px;
		border-right: 1px solid #101f10;
		border-bottom: 1px solid #101f10;
		line-height: 1.4;
		text-align: left;
		white-space: normal !important;
		word-break: normal;
		overflow-wrap: anywhere !important;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filter {
		padding: 0;
		border: 0;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filter select {
		width: 100%;
		max-width: 100%;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-mobile-empty {
		display: none !important;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-mobile-field-label {
		display: block;
		color: var(--sx-muted-green);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.055em;
		line-height: 1.3;
		text-transform: uppercase;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__actions {
		grid-column: 1 / -1;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__action-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__action-separator {
		display: none;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-table-action,
	body.sx-dashboard .sx-table-scroll--cards button.sx-table-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 0 12px !important;
		color: var(--sx-muted-green);
		background: #0b180c !important;
		border: 1px solid #31572f !important;
		border-radius: var(--sx-radius-small);
		line-height: 1.2;
		text-decoration: none;
	}
}

@media (max-width: 640px) {
	body.sx-dashboard {
		font-size: 13px;
		background:
			radial-gradient(circle at 12% 0%, rgba(84, 221, 0, 0.08), transparent 22rem),
			linear-gradient(180deg, #080808 0%, #000000 100%);
	}

	body.sx-dashboard .sx-brandbar__inner {
		min-height: 76px;
	}

	body.sx-dashboard .sx-brand {
		gap: 12px;
	}

	body.sx-dashboard .sx-brand__logo {
		width: 190px;
		height: auto;
	}

	body.sx-dashboard .sx-brand__label,
	body.sx-dashboard .sx-brand__meta {
		min-height: 28px;
		padding-left: 12px;
		font-size: 11px;
		letter-spacing: 0.07em;
	}

	body.sx-dashboard .sx-appnav {
		margin-bottom: 18px;
	}

	body.sx-dashboard .tabnav,
	body.sx-dashboard .sx-appnav__list {
		min-height: 49px;
	}

	body.sx-dashboard .tabnav a:link,
	body.sx-dashboard .tabnav a:visited,
	body.sx-dashboard .sx-appnav__link:link,
	body.sx-dashboard .sx-appnav__link:visited,
	body.sx-dashboard .tabnav .logout-button,
	body.sx-dashboard .sx-appnav__logout-button {
		min-height: 44px;
		padding: 0 12px;
		font-size: 11px;
	}

	body.sx-dashboard table.presentation {
		width: 100% !important;
	}

	body.sx-dashboard table.presentation > tbody > tr > td {
		padding-right: 8px;
		padding-left: 8px;
	}

	body.sx-dashboard .sx-login-layout,
	body.sx-dashboard .sx-login-layout > tbody,
	body.sx-dashboard .sx-login-layout > tbody > tr,
	body.sx-dashboard .sx-login-form-cell {
		display: block;
		width: 100%;
	}

	body.sx-dashboard .sx-login-layout {
		border-spacing: 0;
	}

	body.sx-dashboard .sx-login-mark {
		display: none;
	}

	body.sx-dashboard .sx-login-panel,
	body.sx-dashboard .sx-login-fields,
	body.sx-dashboard .sx-ticket-create table.sx-key-value,
	body.sx-dashboard .sx-report-create table.sx-key-value,
	body.sx-dashboard .sx-report-history,
	body.sx-dashboard .sx-ticket-history-filter {
		width: 100% !important;
		table-layout: fixed;
	}

	body.sx-dashboard .sx-login-fields td:first-child {
		width: 40% !important;
	}

	body.sx-dashboard .sx-login-fields td:last-child {
		width: 60% !important;
	}

	body.sx-dashboard .sx-login-fields input.texte,
	body.sx-dashboard .sx-ticket-create input[type="text"],
	body.sx-dashboard .sx-ticket-create select,
	body.sx-dashboard .sx-ticket-create textarea,
	body.sx-dashboard .sx-report-create input[type="text"],
	body.sx-dashboard .sx-report-create select,
	body.sx-dashboard .sx-report-create textarea,
	body.sx-dashboard .sx-report-history select,
	body.sx-dashboard .sx-ticket-history-filter select {
		width: 100% !important;
		max-width: 100%;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td,
	body.sx-dashboard .sx-report-create table.sx-key-value td {
		min-width: 0;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td:first-child:not([colspan]),
	body.sx-dashboard .sx-report-create table.sx-key-value td:first-child:not([colspan]),
	body.sx-dashboard .sx-report-history td:first-child:not([colspan]),
	body.sx-dashboard .sx-ticket-history-filter td:first-child:not([colspan]) {
		width: 105px !important;
		word-break: normal;
		overflow-wrap: normal;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(2):not(:last-child) {
		width: 8px !important;
		padding-right: 0;
		padding-left: 0;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(3) {
		width: auto !important;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td:nth-child(4) {
		display: none;
	}

	body.sx-dashboard .sx-ticket-create table.sx-key-value td:last-child,
	body.sx-dashboard .sx-report-history td:last-child,
	body.sx-dashboard .sx-ticket-history-filter td:last-child {
		width: auto !important;
	}

	body.sx-dashboard table.sx-key-value td:first-child:not([colspan]) {
		min-width: 92px;
		word-break: normal;
		overflow-wrap: normal;
	}

	body.sx-dashboard table.presentation.sx-report-stats table {
		width: 100% !important;
		table-layout: fixed;
	}

	body.sx-dashboard table.presentation.sx-report-stats table td,
	body.sx-dashboard table.presentation.sx-report-stats table th {
		word-break: normal;
		overflow-wrap: normal;
	}

	body.sx-dashboard table.presentation.sx-report-stats table table td,
	body.sx-dashboard table.presentation.sx-report-stats table table th {
		padding-right: 4px;
		padding-left: 4px;
		font-size: 11px;
	}

	body.sx-dashboard table.presentation.sx-report-stats table table td:first-child,
	body.sx-dashboard table.presentation.sx-report-stats table table th:first-child {
		width: 40% !important;
		white-space: nowrap;
	}

	body.sx-dashboard table.presentation.sx-report-stats table table td:last-child,
	body.sx-dashboard table.presentation.sx-report-stats table table th:last-child {
		width: 60% !important;
	}

	body.sx-dashboard table.liste th,
	body.sx-dashboard table.liste td,
	body.sx-dashboard table.sx-data-table th,
	body.sx-dashboard table.sx-data-table td,
	body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) th,
	body.sx-dashboard table.presentation table:has(> tbody > tr[bgcolor]) td {
		padding: 7px 8px;
		font-size: 12px;
	}

	body.sx-dashboard textarea {
		width: 100%;
	}

	body.sx-dashboard :where(div, nav, section).sx-action-bar {
		align-items: flex-start;
	}

	body.sx-dashboard .sx-action-bar {
		padding: 10px;
	}

	body.sx-dashboard .sx-footer {
		padding: 18px 10px 22px;
	}

	body.sx-dashboard .sx-host-detail__grid,
	body.sx-dashboard .sx-host-editor__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.sx-dashboard .sx-host-detail__item,
	body.sx-dashboard .sx-host-editor__field {
		border-right: 0;
	}

	body.sx-dashboard .sx-host-editor__notes {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filters,
	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__row {
		grid-template-columns: minmax(0, 1fr);
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__actions {
		grid-column: auto;
	}
}

@media (max-width: 430px) {
	body.sx-dashboard .sx-brandbar__inner {
		padding: 10px 0;
	}

	body.sx-dashboard .sx-brand {
		flex-wrap: wrap;
	}

	body.sx-dashboard .sx-brand__logo {
		max-width: 72vw;
	}

	body.sx-dashboard .sx-brand__label,
	body.sx-dashboard .sx-brand__meta {
		min-height: 0;
		padding-left: 0;
		border-left: 0;
	}

	body.sx-dashboard .sx-host-detail__header,
	body.sx-dashboard .sx-host-editor__header,
	body.sx-dashboard .sx-host-detail__ip {
		align-items: stretch;
		flex-direction: column;
	}

	body.sx-dashboard .sx-host-detail__edit,
	body.sx-dashboard .sx-host-editor__header .liens {
		width: 100%;
		min-height: 44px;
	}

	body.sx-dashboard .sx-host-detail__item,
	body.sx-dashboard .sx-host-editor__field {
		grid-template-columns: minmax(105px, 34%) minmax(0, 1fr);
	}

	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__row > td,
	body.sx-dashboard .sx-table-scroll--cards .sx-wide-table__filter {
		grid-template-columns: minmax(0, 1fr);
		gap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.sx-dashboard *,
	body.sx-dashboard *::before,
	body.sx-dashboard *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
