@charset "UTF-8";
/* =============================================================
   DA VINCI GROUP — GLPI 11 Theme
   State-of-the-art UI/UX redesign
   ============================================================= */
/* ── CSS CUSTOM PROPERTIES ─────────────────────────────────── */
:root[data-glpi-theme=davinci] {
  /* Brand */
  --tblr-primary-rgb: 238, 46, 55;
  --tblr-primary: #EE2E37;
  --tblr-primary-fg: #ffffff;
  --tblr-secondary: #1a1a1a;
  --tblr-secondary-fg: #ffffff;
  --tblr-link-color-rgb: 200, 30, 38;
  --tblr-link-color: #C81E26;
  /* Buttons */
  --tblr-btn-color: #EE2E37;
  --tblr-btn-color-interactive: #c4222a;
  --tblr-btn-color-text: #ffffff;
  /* Surfaces — neutral off-white, not blue-grey */
  --tblr-body-bg: #f3f4f6;
  --tblr-bg-surface: #ffffff;
  --tblr-bg-surface-secondary: #f9fafb;
  --tblr-bg-surface-tertiary: #f3f4f6;
  --tblr-bg-surface-dark: #f0f1f3;
  --tblr-light: #f9fafb;
  --tblr-navbar-color: #111111;
  /* Borders */
  --tblr-border-color: #e5e7eb;
  --tblr-border-color-translucent: rgba(0, 0, 0, 0.08);
  --tblr-border-radius: 0.5rem;
  --tblr-border-radius-sm: 0.375rem;
  --tblr-border-radius-lg: 0.75rem;
  /* Typography */
  --tblr-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --tblr-body-font-size: 0.875rem;
  --tblr-font-weight-medium: 500;
  --tblr-font-weight-bold: 600;
  /* Focus ring */
  --tblr-box-shadow-input: 0 0 0 3px rgba(238, 46, 55, 0.15);
  /* Navigation */
  --glpi-mainmenu-bg: #111111;
  --glpi-mainmenu-fg: #f5f5f5;
  --glpi-mainmenu-fg-muted: rgba(245, 245, 245, 0.5);
  --glpi-mainmenu-active-bg: rgba(238, 46, 55, 0.18);
  /* Tabs */
  --glpi-tabs-bg: #f3f4f6;
  --glpi-tabs-fg: #6b7280;
  --glpi-tabs-active-bg: #ffffff;
  --glpi-tabs-active-fg: #111111;
  --glpi-tabs-border-color: #e5e7eb;
  --glpi-tabs-active-border-color: #e5e7eb;
  /* Form section headers — brand red replaces default blue */
  --glpi-form-header-fg: #C81E26;
  --glpi-form-header-bg: rgba(238, 46, 55, 0.05);
  --glpi-form-header-border-color: rgba(238, 46, 55, 0.18);
  --glpi-form-header-danger-fg: #b91c1c;
  /* Badges */
  --glpi-badge-bg: rgba(238, 46, 55, 0.09);
  --glpi-badge-fg: #C81E26;
  /* Search bar */
  --glpi-search-bg: #ffffff;
  --glpi-search-fg: #111111;
  --glpi-search-border-color: #d1d5db;
  /* Dashboard */
  --glpi-dashboard-soft-border: rgba(0, 0, 0, 0.07);
  /* ITIL timeline — cleaner, high-contrast */
  --glpi-timeline-itil-content-bg: #ecfdf5;
  --glpi-timeline-itil-content-fg: #064e3b;
  --glpi-timeline-itil-content-border-color: #6ee7b7;
  --glpi-timeline-fup-bg: #f9fafb;
  --glpi-timeline-fup-fg: #374151;
  --glpi-timeline-fup-border-color: #d1d5db;
  --glpi-timeline-task-bg: #fffbeb;
  --glpi-timeline-task-fg: #78350f;
  --glpi-timeline-task-border-color: #fcd34d;
  --glpi-timeline-solution-bg: #eff6ff;
  --glpi-timeline-solution-fg: #1e3a5f;
  --glpi-timeline-solution-border-color: #93c5fd;
  --glpi-timeline-document-bg: #f0fdf4;
  --glpi-timeline-document-fg: #14532d;
  --glpi-timeline-document-border-color: #86efac;
  --glpi-timeline-log-bg: rgba(200, 200, 200, 0.12);
  --glpi-timeline-badge-bg: rgba(80, 80, 80, 0.1);
  --glpi-timeline-badge-fg: rgba(17, 17, 17, 0.72);
  /* Palette swatches */
  --glpi-palette-color-1: #EE2E37;
  --glpi-palette-color-2: #1a1a1a;
  --glpi-palette-color-3: #ffffff;
  --glpi-palette-color-4: #f3f4f6;
  /* Helpdesk portal */
  --glpi-helpdesk-header: #1a1a1a;
  --glpi-helpdesk-tiles-section-bg: #f3f4f6;
  --glpi-helpdesk-tabs-section-bg: #ffffff;
  /* Illustration tints */
  --glpi-illustrations-header-dark: #111111;
  --glpi-illustrations-primary: #EE2E37;
  --glpi-illustrations-gradient-1: #f5f5f5;
  --glpi-illustrations-gradient-2: #d4d4d4;
  --glpi-illustrations-gradient-3: #737373;
  /* Logos */
  --glpi-logo-light: url("/pics/logos/logo-davinci-nav.png");
  --glpi-logo-dark: url("/pics/logos/logo-davinci-nav.png");
  --glpi-logo-light-reduced: url("/pics/logos/logo-davinci-nav.png");
  --glpi-logo-dark-reduced: url("/pics/logos/logo-davinci-nav.png");
  --glpi-logo-light-login: url("/pics/logos/logo-davinci-login.png");
  --glpi-logo-dark-login: url("/pics/logos/logo-davinci-login.png");
}

/* ── TOPBAR / NAV ───────────────────────────────────────────── */
[data-glpi-theme=davinci] .topbar {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

[data-glpi-theme=davinci] .navbar-brand .glpi-logo {
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
  width: 220px;
  height: 44px;
}

[data-glpi-theme=davinci] .topbar .nav-item.active a.nav-link {
  background-color: rgba(238, 46, 55, 0.15);
  border-radius: 0.375rem;
}

/* ── CARDS ──────────────────────────────────────────────────── */
[data-glpi-theme=davinci] .card {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

[data-glpi-theme=davinci] .card-header {
  background-color: #fcfcfd;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 0.75rem 0.75rem 0 0 !important;
  padding: 0.875rem 1.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
  color: #111111;
}

[data-glpi-theme=davinci] .card-footer {
  background-color: #fcfcfd;
  border-top: 1px solid #e5e7eb;
  border-radius: 0 0 0.75rem 0.75rem !important;
  padding: 0.75rem 1.25rem;
}

/* ── DASHBOARD WIDGETS ──────────────────────────────────────── */
/* Specificity must beat .dashboard .grid-stack .grid-stack-item .card (4 classes) */
/* Using [attr] + 4 classes = (0,5,0) to win both with and without !important      */
[data-glpi-theme=davinci] .dashboard .grid-stack .grid-stack-item .card {
  border: 1px solid rgba(0, 0, 0, 0.07) !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07) !important;
  overflow: visible !important; /* allow shadow to show; clip handled per-widget */
  background: #ffffff !important;
  transition: box-shadow 0.2s ease !important;
}

/* No transform — translateY breaks GridStack absolute positioning */
[data-glpi-theme=davinci] .dashboard .grid-stack .grid-stack-item .card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

/* ── BIG-NUMBER widget ──────────────────────────────────────── */
/* Source: .dashboard ... .big-number .* — add grid-stack-item to beat it         */
[data-glpi-theme=davinci] .dashboard .grid-stack-item .big-number .main-icon,
[data-glpi-theme=davinci] .dashboard .grid-stack-item .main-icon {
  font-size: 2em !important; /* reduce from 3em so it doesn't collide with number */
  opacity: 0.15 !important; /* subtle watermark effect — number stays readable  */
}

[data-glpi-theme=davinci] .dashboard .grid-stack-item .big-number .formatted-number .number,
[data-glpi-theme=davinci] .dashboard .grid-stack-item .big-number .formatted-number .suffix {
  font-size: clamp(1.4rem, 3.5vw, 2.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

/* main-label: source sets max-width calc(100% - 2.5em) — extend that             */
[data-glpi-theme=davinci] .dashboard .grid-stack-item .big-number .main-label,
[data-glpi-theme=davinci] .dashboard .grid-stack-item .main-label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: calc(100% - 2.5em) !important;
  display: block !important;
}

[data-glpi-theme=davinci] .dashboard .grid-stack-item .big-number .label {
  font-size: 0.75rem !important;
  color: #6b7280 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  display: block !important;
}

/* ── SUMMARY-NUMBERS widget ─────────────────────────────────── */
/* Source hardcodes .label at 1.5em — beat it with .grid-stack-item in path       */
[data-glpi-theme=davinci] .dashboard .grid-stack-item .summary-numbers .label {
  font-size: 0.75rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #6b7280 !important;
}

[data-glpi-theme=davinci] .dashboard .grid-stack-item .summary-numbers .content .formatted-number .number,
[data-glpi-theme=davinci] .dashboard .grid-stack-item .summary-numbers .content .formatted-number .suffix {
  font-size: clamp(1rem, 2.5vw, 1.6rem) !important;
  font-weight: 700 !important;
}

/* ── LOGIN PAGE ─────────────────────────────────────────────── */
[data-glpi-theme=davinci] body.welcome-anonymous {
  background: linear-gradient(150deg, #111111 0%, #1a1a1a 60%, #280609 100%);
  min-height: 100vh;
}

[data-glpi-theme=davinci] .page-anonymous {
  background: transparent;
}

[data-glpi-theme=davinci] .page-anonymous .card.main-content-card {
  border: none;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 8px 24px rgba(0, 0, 0, 0.2);
  border-radius: 1rem;
  overflow: hidden;
}

[data-glpi-theme=davinci] .page-anonymous .card-header {
  background: linear-gradient(135deg, #EE2E37 0%, #c4222a 100%);
  color: #ffffff;
  border: none;
  border-radius: 0 !important;
  text-align: center;
  padding: 1.25rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

[data-glpi-theme=davinci] .page-anonymous .glpi-logo {
  content: none;
  display: block;
  margin: 0 auto 2rem;
  background-image: url("/pics/logos/logo-davinci-login.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 320px;
  height: 54px;
  filter: brightness(0) invert(1);
}

[data-glpi-theme=davinci] .page-anonymous .text-muted {
  color: rgba(255, 255, 255, 0.45) !important;
}

[data-glpi-theme=davinci] .page-anonymous .text-center.text-muted a {
  color: rgba(255, 255, 255, 0.5) !important;
}

/* ── BUTTONS ────────────────────────────────────────────────── */
[data-glpi-theme=davinci] .btn-primary {
  background-color: #EE2E37;
  border-color: #EE2E37;
  color: #ffffff;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

[data-glpi-theme=davinci] .btn-primary:hover,
[data-glpi-theme=davinci] .btn-primary:focus {
  background-color: #c4222a;
  border-color: #b81e25;
  box-shadow: 0 4px 14px rgba(238, 46, 55, 0.38);
  transform: translateY(-1px);
}

[data-glpi-theme=davinci] .btn-primary:active {
  transform: translateY(0);
  box-shadow: none;
  background-color: #a81b22;
}

[data-glpi-theme=davinci] .btn-outline-primary {
  color: #EE2E37;
  border-color: #EE2E37;
}

[data-glpi-theme=davinci] .btn-outline-primary:hover {
  background-color: #EE2E37;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(238, 46, 55, 0.3);
}

/* ── FORM INPUTS ────────────────────────────────────────────── */
[data-glpi-theme=davinci] .form-control,
[data-glpi-theme=davinci] .form-select {
  border-color: #d1d5db;
  border-radius: 0.5rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[data-glpi-theme=davinci] .form-control:focus,
[data-glpi-theme=davinci] .form-select:focus {
  border-color: #EE2E37;
  box-shadow: 0 0 0 3px rgba(238, 46, 55, 0.15);
  outline: none;
}

[data-glpi-theme=davinci] .form-label {
  font-weight: 500;
  font-size: 0.8125rem;
  color: #374151;
  margin-bottom: 0.375rem;
}

/* ── TABLES ─────────────────────────────────────────────────── */
[data-glpi-theme=davinci] .table > thead > tr > th {
  background-color: #f9fafb;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  border-bottom: 2px solid #e5e7eb;
  padding: 0.75rem 1rem;
}

[data-glpi-theme=davinci] .table > tbody > tr:hover > td {
  background-color: rgba(238, 46, 55, 0.025);
}

[data-glpi-theme=davinci] .table > tbody > tr > td {
  padding: 0.625rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid #f3f4f6;
}

/* ── DROPDOWN MENUS ─────────────────────────────────────────── */
[data-glpi-theme=davinci] .dropdown-menu {
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  padding: 0.4rem;
}

[data-glpi-theme=davinci] .dropdown-item {
  border-radius: 0.4375rem;
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  color: #374151;
  transition: background-color 0.12s ease, color 0.12s ease;
}

[data-glpi-theme=davinci] .dropdown-item:hover,
[data-glpi-theme=davinci] .dropdown-item:focus {
  background-color: rgba(238, 46, 55, 0.07);
  color: #C81E26;
}

[data-glpi-theme=davinci] .dropdown-divider {
  border-color: #e5e7eb;
  margin: 0.3rem 0;
}

/* ── TABS ───────────────────────────────────────────────────── */
[data-glpi-theme=davinci] .nav-tabs .nav-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  border-radius: 0.5rem 0.5rem 0 0;
  transition: color 0.15s ease;
}

[data-glpi-theme=davinci] .nav-tabs .nav-link.active {
  color: #EE2E37;
  font-weight: 600;
  border-bottom-color: #EE2E37;
}

[data-glpi-theme=davinci] .nav-tabs .nav-link:hover:not(.active) {
  color: #374151;
  background-color: rgba(0, 0, 0, 0.03);
}

/* ── BADGES / PILLS ─────────────────────────────────────────── */
[data-glpi-theme=davinci] .badge {
  font-weight: 500;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  padding: 0.3em 0.65em;
  border-radius: 0.375rem;
}

[data-glpi-theme=davinci] .badge.bg-primary {
  background-color: #EE2E37 !important;
}

[data-glpi-theme=davinci] .itil-badge,
[data-glpi-theme=davinci] .glpi-badge {
  border-radius: 0.375rem;
}

/* ── PAGE HEADERS ───────────────────────────────────────────── */
[data-glpi-theme=davinci] .page-header {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

[data-glpi-theme=davinci] .page-title {
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.01em;
  color: #111111;
}

/* ── ALERTS / TOASTS ────────────────────────────────────────── */
[data-glpi-theme=davinci] .alert {
  border-radius: 0.75rem;
  border-left-width: 4px;
}

[data-glpi-theme=davinci] .alert-primary {
  border-left-color: #EE2E37;
  background-color: rgba(238, 46, 55, 0.07);
  color: #7f1d1d;
}

/* ── SELECT2 ────────────────────────────────────────────────── */
[data-glpi-theme=davinci] .select2-container--default .select2-selection--single,
[data-glpi-theme=davinci] .select2-container--default .select2-selection--multiple {
  border-color: #d1d5db;
  border-radius: 0.5rem;
}

[data-glpi-theme=davinci] .select2-container--default.select2-container--focus .select2-selection--single,
[data-glpi-theme=davinci] .select2-container--default.select2-container--focus .select2-selection--multiple,
[data-glpi-theme=davinci] .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #EE2E37;
  box-shadow: 0 0 0 3px rgba(238, 46, 55, 0.15);
}

[data-glpi-theme=davinci] .select2-dropdown {
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
}

[data-glpi-theme=davinci] .select2-results__option--highlighted {
  background-color: #EE2E37 !important;
}

/* ── BREADCRUMBS ────────────────────────────────────────────── */
[data-glpi-theme=davinci] .breadcrumb-item a {
  color: #6b7280;
  text-decoration: none;
  font-size: 0.8125rem;
}

[data-glpi-theme=davinci] .breadcrumb-item.active {
  color: #111111;
  font-weight: 500;
  font-size: 0.8125rem;
}

/* ── SCROLLBARS ─────────────────────────────────────────────── */
[data-glpi-theme=davinci] ::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

[data-glpi-theme=davinci] ::-webkit-scrollbar-track {
  background: transparent;
}

[data-glpi-theme=davinci] ::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}

[data-glpi-theme=davinci] ::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.28);
}

/* ── TICKET / ITIL FORM ─────────────────────────────────────── */
[data-glpi-theme=davinci] .itilheader .main-header {
  border-radius: 0.75rem 0.75rem 0 0;
}

[data-glpi-theme=davinci] .itil-object .card {
  border-radius: 0.75rem;
}

/* ── HELPDESK PORTAL ────────────────────────────────────────── */
[data-glpi-theme=davinci] .helpdesk-header {
  background-color: #111111;
}

[data-glpi-theme=davinci] .helpdesk-home .service-tile {
  border-radius: 0.75rem;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

[data-glpi-theme=davinci] .helpdesk-home .service-tile:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}