/* Trust Connect - Hacker Theme */
/* Terminal stijl: zwart met fosfor-groen, matrix vibes */
:root[data-glpi-theme=TrustConnectHacker],
:root[data-glpi-theme=trustconnecthacker] {
  /* Pure zwart met groen */
  --tblr-light: #0a0f0a;
  --tblr-dark: #33ff33;
  --tblr-primary-rgb: 0, 220, 0;
  --tblr-primary: #00dc00;
  --tblr-primary-fg: #0a0f0a;
  --tblr-primary-darken: color-mix(in srgb, var(--tblr-primary), black 10%);
  --tblr-secondary: #20aa40;
  --tblr-secondary-fg: #0a0f0a;
  --tblr-tertiary: #80e890;
  --tblr-muted: #3a7a4a;
  --tblr-muted-darken: color-mix(in srgb, var(--tblr-muted), black 10%);
  --tblr-info: #40c8e0;
  --tblr-success: #00dc00;
  --tblr-warning: #cccc00;
  --tblr-danger: #ff3333;
  --tblr-link-color-rgb: 0, 220, 0;
  --tblr-link-color: #00dc00;
  --tblr-badge-bg: rgba(0, 220, 0, 0.15);
  --tblr-badge-color: #33ff33;
  --tblr-navbar-color: #33ff33;
  --tblr-body-bg: #050805;
  --tblr-body-color: #33ff33;
  --tblr-bg-surface: #0a100a;
  --tblr-bg-surface-secondary: #0f180f;
  --tblr-bg-surface-tertiary: #142014;
  --tblr-bg-surface-dark: #030503;
  --tblr-border-color: rgba(0, 220, 0, 0.2);
  --tblr-border-color-translucent: rgba(0, 220, 0, 0.1);
  /* Accenten */
  --tc-accent: #00ff66;
  --tc-accent-light: #66ffaa;
  --tc-primary-light: #80e890;
  /* Logo - lichtere variant zodat het donkere logo zichtbaar blijft */
  --glpi-logo-light: url("/pics/ColouredDark-Logo.png");
  --glpi-logo-light-reduced: url("/pics/ColouredDark-Logo.png");
  --glpi-logo-dark: url("/pics/ColouredDark-Logo.png");
  --glpi-logo-dark-reduced: url("/pics/ColouredDark-Logo.png");
  --glpi-logo-dark-login: url("/pics/ColouredDark-Logo.png");
  --glpi-logo-light-login: url("/pics/ColouredDark-Logo.png");
  --glpi-logo: var(--glpi-logo-light);
  --glpi-logo-reduced: var(--glpi-logo-light-reduced);
  /* Hoofdmenu - puur zwart */
  --glpi-mainmenu-bg: #030503;
  --glpi-mainmenu-fg: #33ff33;
  --glpi-mainmenu-fg-muted: rgba(51, 255, 51, 0.45);
  --glpi-mainmenu-active-bg: rgba(0, 220, 0, 0.15);
  --glpi-mainmenu-border-color: rgba(0, 220, 0, 0.2);
  /* Tabs */
  --glpi-tabs-bg: #0f180f;
  --glpi-tabs-fg: #20aa40;
  --glpi-tabs-border-color: rgba(0, 220, 0, 0.18);
  --glpi-tabs-active-bg: #0a100a;
  --glpi-tabs-active-fg: #33ff33;
  --glpi-tabs-active-border-color: #00ff66;
  /* Zoeken */
  --glpi-search-bg: #0f180f;
  --glpi-search-fg: #33ff33;
  --glpi-search-border-color: rgba(0, 220, 0, 0.18);
  --glpi-fg-secondary: #33ff33;
  /* Badges */
  --glpi-badge-bg: rgba(0, 220, 0, 0.12);
  --glpi-badge-fg: #00ff66;
  /* Formulier headers */
  --glpi-form-header-fg: #00ff66;
  --glpi-form-header-bg: rgba(0, 220, 0, 0.08);
  --glpi-form-header-border-color: rgba(0, 220, 0, 0.25);
  --glpi-form-header-danger-fg: #ff3333;
  --glpi-form-header-danger-bg: rgba(255, 51, 51, 0.08);
  --glpi-form-header-danger-border-color: rgba(255, 51, 51, 0.25);
  /* Scrollbar */
  --glpi-scrollbar-thumb-color: rgba(0, 220, 0, 0.3);
  --glpi-scrollbar-track-color: transparent;
  /* ITIL / Timeline - neon terminal kleuren per type */
  --glpi-itil-secondary-bg: #0f180f;
  --glpi-timeline-itil-content-bg: rgba(0, 255, 102, 0.12);
  --glpi-timeline-itil-content-fg: #7dff9f;
  --glpi-timeline-itil-content-border-color: rgba(0, 255, 102, 0.4);
  /* Follow-ups: cyber cyan */
  --glpi-timeline-fup-bg: rgba(0, 225, 255, 0.12);
  --glpi-timeline-fup-fg: #66f2ff;
  --glpi-timeline-fup-border-color: rgba(0, 225, 255, 0.36);
  /* Tasks: amber */
  --glpi-timeline-task-bg: rgba(255, 196, 0, 0.14);
  --glpi-timeline-task-fg: #ffd75a;
  --glpi-timeline-task-border-color: rgba(255, 196, 0, 0.38);
  /* Solutions: neon green */
  --glpi-timeline-solution-bg: rgba(57, 255, 20, 0.12);
  --glpi-timeline-solution-fg: #98ff7a;
  --glpi-timeline-solution-border-color: rgba(57, 255, 20, 0.36);
  /* Documents: synth magenta */
  --glpi-timeline-document-bg: rgba(255, 0, 170, 0.12);
  --glpi-timeline-document-fg: #ff7bd5;
  --glpi-timeline-document-border-color: rgba(255, 0, 170, 0.34);
  --glpi-timeline-log-bg: rgba(0, 225, 255, 0.05);
  --glpi-timeline-badge-bg: rgba(0, 255, 102, 0.14);
  --glpi-timeline-badge-fg: rgba(153, 255, 188, 0.9);
  --glpi-hover-bg: rgba(0, 220, 0, 0.06);
  /* Helpdesk */
  --glpi-helpdesk-header: #0a100a;
  --glpi-helpdesk-tiles-section-bg: #050805;
  --glpi-helpdesk-tabs-section-bg: #0a100a;
  /* Illustraties */
  --glpi-illustrations-background: #0a100a;
  --glpi-illustrations-header-dark: #030503;
  --glpi-illustrations-header-light: #0f180f;
  --glpi-illustrations-primary: #00ff66;
  --glpi-illustrations-gradient-1: hsl(130deg, 100%, 8%);
  --glpi-illustrations-gradient-2: hsl(130deg, 100%, 15%);
  --glpi-illustrations-gradient-3: hsl(130deg, 80%, 25%);
  /* Altcha */
  --altcha-color-base: var(--tblr-bg-surface);
  --altcha-border-radius: var(--tblr-border-radius-lg);
  --altcha-color-border: var(--tblr-border-color-translucent);
  --altcha-color-text: var(--tblr-dark);
}

/* Sidebar logo */
:root[data-glpi-theme=TrustConnectHacker] .page .glpi-logo,
:root[data-glpi-theme=trustconnecthacker] .page .glpi-logo {
  background-size: contain !important;
  background-position: center !important;
}

/* Login pagina logo */
:root[data-glpi-theme=TrustConnectHacker] .page-anonymous .glpi-logo,
:root[data-glpi-theme=trustconnecthacker] .page-anonymous .glpi-logo {
  object-fit: contain !important;
  width: 150px !important;
  height: 150px !important;
  filter: brightness(1.3) saturate(0.8);
}

/* Cards - zwart met groene glow borders */
:root[data-glpi-theme=TrustConnectHacker] .card,
:root[data-glpi-theme=trustconnecthacker] .card {
  --tblr-card-cap-bg: #0f180f !important;
  --tblr-card-bg: #0a100a;
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.18);
  color: #33ff33;
  box-shadow: 0 0 8px rgba(0, 220, 0, 0.05);
}

/* Tabel - terminal stijl */
:root[data-glpi-theme=TrustConnectHacker] table,
:root[data-glpi-theme=trustconnecthacker] table {
  color: #33ff33;
}
:root[data-glpi-theme=TrustConnectHacker] table thead th,
:root[data-glpi-theme=trustconnecthacker] table thead th {
  color: #00ff66;
  border-color: rgba(0, 220, 0, 0.25);
  text-transform: uppercase;
  font-size: 0.85em;
  letter-spacing: 0.05em;
}
:root[data-glpi-theme=TrustConnectHacker] table td, :root[data-glpi-theme=TrustConnectHacker] table th,
:root[data-glpi-theme=trustconnecthacker] table td,
:root[data-glpi-theme=trustconnecthacker] table th {
  border-color: rgba(0, 220, 0, 0.1);
}
:root[data-glpi-theme=TrustConnectHacker] table td.active,
:root[data-glpi-theme=TrustConnectHacker] table td.tab_bg_4,
:root[data-glpi-theme=trustconnecthacker] table td.active,
:root[data-glpi-theme=trustconnecthacker] table td.tab_bg_4 {
  background-color: rgba(0, 220, 0, 0.06);
}

/* Zebra-rijen in overzichten subtieler (header/statusbalk ongemoeid) */
:root[data-glpi-theme=TrustConnectHacker] .table.table-striped > tbody > tr:nth-of-type(odd) > *,
:root[data-glpi-theme=trustconnecthacker] .table.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(0, 220, 0, 0.06) !important;
}

:root[data-glpi-theme=TrustConnectHacker] .table.table-striped > tbody > tr:nth-of-type(even) > *,
:root[data-glpi-theme=trustconnecthacker] .table.table-striped > tbody > tr:nth-of-type(even) > * {
  background-color: rgba(10, 16, 10, 0.95) !important;
}

/* Dropdown */
:root[data-glpi-theme=TrustConnectHacker] .dropdown-menu,
:root[data-glpi-theme=trustconnecthacker] .dropdown-menu {
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.22);
  color: #33ff33;
  box-shadow: 0 4px 20px rgba(0, 220, 0, 0.08);
}
:root[data-glpi-theme=TrustConnectHacker] .dropdown-menu .dropdown-item,
:root[data-glpi-theme=trustconnecthacker] .dropdown-menu .dropdown-item {
  color: #20aa40;
  border-radius: 4px;
}
:root[data-glpi-theme=TrustConnectHacker] .dropdown-menu .dropdown-item:hover, :root[data-glpi-theme=TrustConnectHacker] .dropdown-menu .dropdown-item:focus,
:root[data-glpi-theme=trustconnecthacker] .dropdown-menu .dropdown-item:hover,
:root[data-glpi-theme=trustconnecthacker] .dropdown-menu .dropdown-item:focus {
  background: rgba(0, 220, 0, 0.1);
  color: #33ff33;
}

/* Modals */
:root[data-glpi-theme=TrustConnectHacker] .modal-content,
:root[data-glpi-theme=trustconnecthacker] .modal-content {
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.25);
  color: #33ff33;
  box-shadow: 0 0 30px rgba(0, 220, 0, 0.08);
}

:root[data-glpi-theme=TrustConnectHacker] .modal-header,
:root[data-glpi-theme=trustconnecthacker] .modal-header {
  border-color: rgba(0, 220, 0, 0.18);
}

:root[data-glpi-theme=TrustConnectHacker] .modal-footer,
:root[data-glpi-theme=trustconnecthacker] .modal-footer {
  border-color: rgba(0, 220, 0, 0.18);
}

/* Inputs - donker met groene glow bij focus */
:root[data-glpi-theme=TrustConnectHacker] .form-control,
:root[data-glpi-theme=TrustConnectHacker] .form-select,
:root[data-glpi-theme=trustconnecthacker] .form-control,
:root[data-glpi-theme=trustconnecthacker] .form-select {
  background: #0f180f;
  border-color: rgba(0, 220, 0, 0.25);
  color: #33ff33;
}
:root[data-glpi-theme=TrustConnectHacker] .form-control::placeholder,
:root[data-glpi-theme=TrustConnectHacker] .form-select::placeholder,
:root[data-glpi-theme=trustconnecthacker] .form-control::placeholder,
:root[data-glpi-theme=trustconnecthacker] .form-select::placeholder {
  color: rgba(32, 170, 64, 0.5);
}
:root[data-glpi-theme=TrustConnectHacker] .form-control:focus,
:root[data-glpi-theme=TrustConnectHacker] .form-select:focus,
:root[data-glpi-theme=trustconnecthacker] .form-control:focus,
:root[data-glpi-theme=trustconnecthacker] .form-select:focus {
  background: #142014;
  border-color: #00dc00;
  box-shadow: 0 0 0 3px rgba(0, 220, 0, 0.15), 0 0 12px rgba(0, 220, 0, 0.08);
  color: #33ff33;
}

/* Accordion */
:root[data-glpi-theme=TrustConnectHacker] .accordion,
:root[data-glpi-theme=trustconnecthacker] .accordion {
  --tblr-accordion-color: #33ff33;
  --tblr-accordion-bg: #0a100a;
  --tblr-accordion-border-color: rgba(0, 220, 0, 0.18);
}

:root[data-glpi-theme=TrustConnectHacker] .accordion-button,
:root[data-glpi-theme=trustconnecthacker] .accordion-button {
  background: #0f180f;
  color: #20aa40;
}
:root[data-glpi-theme=TrustConnectHacker] .accordion-button:not(.collapsed),
:root[data-glpi-theme=trustconnecthacker] .accordion-button:not(.collapsed) {
  background: rgba(0, 220, 0, 0.1);
  color: #33ff33;
}

/* Toast */
:root[data-glpi-theme=TrustConnectHacker] .toast,
:root[data-glpi-theme=trustconnecthacker] .toast {
  background: #0a100a !important;
  color: #33ff33 !important;
  border-color: rgba(0, 220, 0, 0.22);
  box-shadow: 0 0 16px rgba(0, 220, 0, 0.06);
}

/* Tooltip */
:root[data-glpi-theme=TrustConnectHacker] .tooltip,
:root[data-glpi-theme=trustconnecthacker] .tooltip {
  --tblr-tooltip-bg: #142014;
  --tblr-tooltip-color: #33ff33;
}

/* Pre/code - echte terminal look */
:root[data-glpi-theme=TrustConnectHacker] pre,
:root[data-glpi-theme=TrustConnectHacker] code,
:root[data-glpi-theme=trustconnecthacker] pre,
:root[data-glpi-theme=trustconnecthacker] code {
  background-color: #030503;
  color: #00ff66;
  border: 1px solid rgba(0, 220, 0, 0.15);
}

/* Select2 */
:root[data-glpi-theme=TrustConnectHacker] .select2-container--default .select2-selection--single,
:root[data-glpi-theme=TrustConnectHacker] .select2-container--default .select2-selection--multiple,
:root[data-glpi-theme=trustconnecthacker] .select2-container--default .select2-selection--single,
:root[data-glpi-theme=trustconnecthacker] .select2-container--default .select2-selection--multiple {
  background: #0f180f;
  border-color: rgba(0, 220, 0, 0.25);
  color: #33ff33;
}
:root[data-glpi-theme=TrustConnectHacker] .select2-container--default .select2-dropdown,
:root[data-glpi-theme=trustconnecthacker] .select2-container--default .select2-dropdown {
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.22);
  box-shadow: 0 4px 20px rgba(0, 220, 0, 0.06);
}
:root[data-glpi-theme=TrustConnectHacker] .select2-container--default .select2-results__option--highlighted,
:root[data-glpi-theme=trustconnecthacker] .select2-container--default .select2-results__option--highlighted {
  background: rgba(0, 220, 0, 0.12);
  color: #33ff33;
}

/* Login pagina - matrix style */
:root[data-glpi-theme=TrustConnectHacker] .page-anonymous,
:root[data-glpi-theme=trustconnecthacker] .page-anonymous {
  background: #030503 !important;
}
:root[data-glpi-theme=TrustConnectHacker] .page-anonymous .main-content-card,
:root[data-glpi-theme=trustconnecthacker] .page-anonymous .main-content-card {
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.22);
  color: #33ff33;
  box-shadow: 0 0 30px rgba(0, 220, 0, 0.06);
}

/* Breadcrumbs */
:root[data-glpi-theme=TrustConnectHacker] .breadcrumb,
:root[data-glpi-theme=trustconnecthacker] .breadcrumb {
  --tblr-breadcrumb-link-color: #20aa40;
  color: #3a7a4a;
}

/* Popover */
:root[data-glpi-theme=TrustConnectHacker] .popover,
:root[data-glpi-theme=trustconnecthacker] .popover {
  background: #0a100a;
  border-color: rgba(0, 220, 0, 0.22);
  box-shadow: 0 4px 20px rgba(0, 220, 0, 0.06);
}
:root[data-glpi-theme=TrustConnectHacker] .popover .popover-body,
:root[data-glpi-theme=trustconnecthacker] .popover .popover-body {
  color: #33ff33;
}
:root[data-glpi-theme=TrustConnectHacker] .popover .popover-arrow::after,
:root[data-glpi-theme=trustconnecthacker] .popover .popover-arrow::after {
  border-top-color: #0a100a;
}

/* Rich text readability */
:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .rich_text_container,
:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .ql-editor,
:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .description,
:root[data-glpi-theme=TrustConnectHacker] .timeline .rich_text_container,
:root[data-glpi-theme=TrustConnectHacker] .read-only-content body#tinymce.mce-content-body.rich_text_container,
:root[data-glpi-theme=TrustConnectHacker] .timeline .ql-editor,
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .rich_text_container,
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .ql-editor,
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .description,
:root[data-glpi-theme=trustconnecthacker] .timeline .rich_text_container,
:root[data-glpi-theme=trustconnecthacker] .read-only-content body#tinymce.mce-content-body.rich_text_container,
:root[data-glpi-theme=trustconnecthacker] .timeline .ql-editor {
  background: #0a100a !important;
  color: #33ff33 !important;
  border-color: rgba(0, 220, 0, 0.2) !important;
}

:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=TrustConnectHacker] .timeline .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=TrustConnectHacker] .read-only-content body#tinymce.mce-content-body.rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=trustconnecthacker] .timeline .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font),
:root[data-glpi-theme=trustconnecthacker] .read-only-content body#tinymce.mce-content-body.rich_text_container :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font) {
  color: inherit !important;
}

/* TinyMCE readonly */
body#tinymce.mce-content-body.rich_text_container.mce-content-readonly,
body#tinymce.mce-content-body.rich_text_container.mce-content-readonly :is(p, div, span, li, ul, ol, td, th, h1, h2, h3, h4, h5, h6, font) {
  color: #33ff33 !important;
}

:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .rich_text_container a,
:root[data-glpi-theme=TrustConnectHacker] .timeline .rich_text_container a,
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container a,
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .rich_text_container a,
:root[data-glpi-theme=trustconnecthacker] .timeline .rich_text_container a,
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container a {
  color: #00ff66 !important;
}

:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .rich_text_container :is(table, tr, td, th),
:root[data-glpi-theme=TrustConnectHacker] .timeline .rich_text_container :is(table, tr, td, th),
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container :is(table, tr, td, th),
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .rich_text_container :is(table, tr, td, th),
:root[data-glpi-theme=trustconnecthacker] .timeline .rich_text_container :is(table, tr, td, th),
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container :is(table, tr, td, th) {
  background-color: transparent !important;
  color: inherit !important;
  border-color: rgba(0, 220, 0, 0.2) !important;
}

:root[data-glpi-theme=TrustConnectHacker] .itil-object-fields .field-container .rich_text_container :is(img, svg),
:root[data-glpi-theme=TrustConnectHacker] .timeline .rich_text_container :is(img, svg),
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container :is(img, svg),
:root[data-glpi-theme=trustconnecthacker] .itil-object-fields .field-container .rich_text_container :is(img, svg),
:root[data-glpi-theme=trustconnecthacker] .timeline .rich_text_container :is(img, svg),
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container :is(img, svg) {
  max-width: 100% !important;
  height: auto !important;
}

/* Force override inline black text */
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container [style*="color: rgb(0, 0, 0)"],
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container [style*="color:rgb(0,0,0)"],
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container [style*="color:#000"],
:root[data-glpi-theme=TrustConnectHacker] .read-only-content .rich_text_container [style*="color: #000"],
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container [style*="color: rgb(0, 0, 0)"],
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container [style*="color:rgb(0,0,0)"],
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container [style*="color:#000"],
:root[data-glpi-theme=trustconnecthacker] .read-only-content .rich_text_container [style*="color: #000"] {
  color: #33ff33 !important;
}

/* Footer */
:root[data-glpi-theme=TrustConnectHacker] .footer,
:root[data-glpi-theme=trustconnecthacker] .footer {
  color: rgba(51, 255, 51, 0.4);
}