/* Dracula Pro Theme for GitLab - Balanced Edition v2 */
/* Proper color distribution: Purple/Cyan/Green/Orange balance */

/* === DRACULA COLOR PALETTE === */
:root {
  --dracula-background: #282a36;
  --dracula-current-line: #44475a;
  --dracula-foreground: #f8f8f2;
  --dracula-comment: #6272a4;
  --dracula-cyan: #8be9fd;
  --dracula-green: #50fa7b;
  --dracula-orange: #ffb86c;
  --dracula-pink: #ff79c6;
  --dracula-purple: #bd93f9;
  --dracula-red: #ff5555;
  --dracula-yellow: #f1fa8c;
}

/* === TYPOGRAPHY === */
h1, .h1, h1.title, .gl-heading-1 {
  color: var(--dracula-green) !important;
}

/* === SYNTAX HIGHLIGHTING === */
/* Comments */
.code.white .c, .code.code-syntax-highlight-theme .c,
.code.white .hljs-comment, .code.code-syntax-highlight-theme .hljs-comment,
.code.white .cm, .code.code-syntax-highlight-theme .cm,
.code.white .c1, .code.code-syntax-highlight-theme .c1,
.code.white .cs, .code.code-syntax-highlight-theme .cs {
  color: var(--dracula-comment) !important;
  font-style: italic !important;
}

/* Keywords */
.code.white .k, .code.code-syntax-highlight-theme .k,
.code.white .kd, .code.code-syntax-highlight-theme .kd,
.code.white .kn, .code.code-syntax-highlight-theme .kn,
.code.white .kp, .code.code-syntax-highlight-theme .kp,
.code.white .kr, .code.code-syntax-highlight-theme .kr,
.code.white .hljs-keyword, .code.code-syntax-highlight-theme .hljs-keyword,
.code.white .o, .code.code-syntax-highlight-theme .o,
.code.white .ow, .code.code-syntax-highlight-theme .ow {
  color: var(--dracula-pink) !important;
  font-weight: 600 !important;
}

/* Types/Classes */
.code.white .kt, .code.code-syntax-highlight-theme .kt,
.code.white .hljs-type, .code.code-syntax-highlight-theme .hljs-type,
.code.white .nc, .code.code-syntax-highlight-theme .nc,
.code.white .nb, .code.code-syntax-highlight-theme .nb,
.code.white .hljs-built_in, .code.code-syntax-highlight-theme .hljs-built_in,
.code.white .nv, .code.code-syntax-highlight-theme .nv {
  color: var(--dracula-cyan) !important;
}

/* Functions */
.code.white .nf, .code.code-syntax-highlight-theme .nf,
.code.white .hljs-title.function_, .code.code-syntax-highlight-theme .hljs-title.function_ {
  color: var(--dracula-green) !important;
  font-weight: normal !important;
}

/* Strings */
.code.white .s, .code.code-syntax-highlight-theme .s,
.code.white .s1, .code.code-syntax-highlight-theme .s1,
.code.white .s2, .code.code-syntax-highlight-theme .s2,
.code.white .sb, .code.code-syntax-highlight-theme .sb,
.code.white .sc, .code.code-syntax-highlight-theme .sc,
.code.white .sd, .code.code-syntax-highlight-theme .sd,
.code.white .se, .code.code-syntax-highlight-theme .se,
.code.white .sh, .code.code-syntax-highlight-theme .sh,
.code.white .si, .code.code-syntax-highlight-theme .si,
.code.white .sx, .code.code-syntax-highlight-theme .sx,
.code.white .sr, .code.code-syntax-highlight-theme .sr,
.code.white .ss, .code.code-syntax-highlight-theme .ss,
.code.white .hljs-string, .code.code-syntax-highlight-theme .hljs-string {
  color: var(--dracula-yellow) !important;
}

/* Numbers */
.code.white .m, .code.code-syntax-highlight-theme .m,
.code.white .mi, .code.code-syntax-highlight-theme .mi,
.code.white .mf, .code.code-syntax-highlight-theme .mf,
.code.white .mh, .code.code-syntax-highlight-theme .mh,
.code.white .mo, .code.code-syntax-highlight-theme .mo,
.code.white .mb, .code.code-syntax-highlight-theme .mb,
.code.white .il, .code.code-syntax-highlight-theme .il,
.code.white .hljs-number, .code.code-syntax-highlight-theme .hljs-number {
  color: var(--dracula-purple) !important;
}

/* Attributes - PURPLE for YAML keys */
.code.white .na, .code.code-syntax-highlight-theme .na,
.code.white .hljs-attr, .code.code-syntax-highlight-theme .hljs-attr,
.code.white .hljs-property, .code.code-syntax-highlight-theme .hljs-property {
  color: var(--dracula-purple) !important;
}

/* Tags/Elements */
.code.white .nt, .code.code-syntax-highlight-theme .nt {
  color: var(--dracula-pink) !important;
}

/* Constants/Symbols */
.code.white .no, .code.code-syntax-highlight-theme .no,
.code.white .hljs-symbol, .code.code-syntax-highlight-theme .hljs-symbol {
  color: var(--dracula-orange) !important;
}

/* Background and base colors */
.code.white, .code.white pre.code, .code.white .line_holder .line_content,
.code.code-syntax-highlight-theme, .code.code-syntax-highlight-theme pre.code,
.code.code-syntax-highlight-theme .line_holder .line_content {
  background-color: var(--dracula-background) !important;
  color: var(--dracula-foreground) !important;
}

.code.white .line-numbers, .code.white .diff-line-num,
.code.code-syntax-highlight-theme .line-numbers,
.code.code-syntax-highlight-theme .diff-line-num {
  background-color: var(--dracula-background) !important;
  color: var(--dracula-comment) !important;
  border-color: var(--dracula-current-line) !important;
}

.code.white .diff-line-num a, .code.code-syntax-highlight-theme .diff-line-num a {
  color: var(--dracula-comment) !important;
}

/* Diff colors */
.code.white .line_holder .diff-line-num.new, .code.code-syntax-highlight-theme .line_holder .diff-line-num.new,
.code.white .line_holder .line_content.new, .code.code-syntax-highlight-theme .line_holder .line_content.new {
  background-color: rgba(80, 250, 123, 0.15) !important;
}

.code.white .line_holder .diff-line-num.old, .code.code-syntax-highlight-theme .line_holder .diff-line-num.old,
.code.white .line_holder .line_content.old, .code.code-syntax-highlight-theme .line_holder .line_content.old {
  background-color: rgba(255, 85, 85, 0.3) !important;
}

.code.white pre .hll, .code.code-syntax-highlight-theme pre .hll {
  background-color: var(--dracula-current-line) !important;
}

/* === COMMIT GRAPHS - Cyan to Magenta Gradient === */
/* Contribution calendar with light purple → dark purple → deep pink spectrum */
/* ALL possible selectors for level 0 (no activity) */
svg.contrib-calendar .ContribCalendar-day[data-level="0"],
svg rect[data-level="0"],
.user-contrib-cell[data-level="0"],
.calendar-graph rect[data-level="0"],
g > rect[data-level="0"] {
  fill: rgba(68, 71, 90, 0.3) !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Level 1 - Light purple, low saturation */
svg.contrib-calendar .ContribCalendar-day[data-level="1"],
svg rect[data-level="1"],
.user-contrib-cell[data-level="1"],
.calendar-graph rect[data-level="1"],
g > rect[data-level="1"] {
  fill: #d8c8ff !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Level 2 - Medium purple, medium saturation */
svg.contrib-calendar .ContribCalendar-day[data-level="2"],
svg rect[data-level="2"],
.user-contrib-cell[data-level="2"],
.calendar-graph rect[data-level="2"],
g > rect[data-level="2"] {
  fill: #bd93f9 !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Level 3 - Darker purple, high saturation */
svg.contrib-calendar .ContribCalendar-day[data-level="3"],
svg rect[data-level="3"],
.user-contrib-cell[data-level="3"],
.calendar-graph rect[data-level="3"],
g > rect[data-level="3"] {
  fill: #a060e0 !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Level 4 - Purple-pink, very high saturation */
svg.contrib-calendar .ContribCalendar-day[data-level="4"],
svg rect[data-level="4"],
.user-contrib-cell[data-level="4"],
.calendar-graph rect[data-level="4"],
g > rect[data-level="4"] {
  fill: #d040d0 !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Level 5+ - Intense magenta, highest saturation */
svg.contrib-calendar .ContribCalendar-day[data-level="5"],
svg rect[data-level="5"],
.user-contrib-cell[data-level="5"],
.calendar-graph rect[data-level="5"],
g > rect[data-level="5"],
svg rect[data-level="6"],
svg rect[data-level="7"],
svg rect[data-level="8"],
svg rect[data-level="9"] {
  fill: #ff40c8 !important;
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Contribution calendar OUTER container - GREEN border (only outermost) */
.user-calendar,
[class*="contribution-calendar-wrapper"],
div:has(> .calendar-graph):not(.calendar-graph),
section:has(> .calendar-graph):not(.calendar-graph) {
  border: 2px solid var(--dracula-green) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  background-color: rgba(40, 42, 54, 0.5) !important;
}

/* Remove borders from inner calendar elements to prevent doubling */
.calendar-graph,
.contrib-calendar-wrapper,
.js-contrib-calendar-wrapper,
.js-contrib-calendar {
  border: none !important;
}

/* Legend / activity boxes - match gradient colors */
.user-calendar-activities .calendar-activity-box,
.contrib-legend li,
.calendar-graph-legend li {
  background-color: #d8c8ff !important; /* Light purple, low saturation */
  border: 1px solid var(--dracula-yellow) !important;
}
.user-calendar-activities .calendar-activity-box.low,
.contrib-legend li[data-level="1"],
.calendar-graph-legend li:nth-child(2) {
  background-color: #d8c8ff !important; /* Light purple */
  border-color: var(--dracula-yellow) !important;
}
.user-calendar-activities .calendar-activity-box.medium,
.contrib-legend li[data-level="2"],
.calendar-graph-legend li:nth-child(3) {
  background-color: #bd93f9 !important; /* Medium purple */
  border-color: var(--dracula-yellow) !important;
}
.user-calendar-activities .calendar-activity-box.high,
.contrib-legend li[data-level="3"],
.calendar-graph-legend li:nth-child(4) {
  background-color: #a060e0 !important; /* Darker purple, high saturation */
  border-color: var(--dracula-yellow) !important;
}
.user-calendar-activities .calendar-activity-box.very-high,
.contrib-legend li[data-level="4"],
.calendar-graph-legend li:nth-child(5) {
  background-color: #d040d0 !important; /* Purple-pink, very high saturation */
  border-color: var(--dracula-yellow) !important;
}
.contrib-legend li[data-level="5"],
.calendar-graph-legend li:last-child {
  background-color: #ff40c8 !important; /* Intense magenta */
  border-color: var(--dracula-yellow) !important;
}

/* Network graph - branch visualization */
.network-graph .branch-graph path {
  stroke: var(--dracula-purple) !important;
  stroke-width: 2px !important;
}
.network-graph .branch-graph circle {
  fill: var(--dracula-pink) !important;
  stroke: var(--dracula-orange) !important;
  stroke-width: 2px !important;
}

/* Commit graph container */
.network-graph, .commit-graph-container,
.js-network-graph {
  border: 2px solid var(--dracula-orange) !important;
  border-radius: 12px !important;
  background-color: rgba(40, 42, 54, 0.5) !important;
}

/* Catch-all for any calendar rects without data-level (fallback) */
svg[class*="calendar"] rect:not([data-level]),
svg[class*="contrib"] rect:not([data-level]) {
  stroke: var(--dracula-yellow) !important;
  stroke-width: 0.5px !important;
}

/* Commit history graph lines */
.commit-graph path,
.commits-graph path,
svg[class*="commit"] path {
  stroke: var(--dracula-purple) !important;
  stroke-width: 2px !important;
}

/* Commit dots/circles */
.commit-graph circle,
.commits-graph circle,
svg[class*="commit"] circle {
  fill: var(--dracula-pink) !important;
  stroke: var(--dracula-orange) !important;
  stroke-width: 2px !important;
}

/* Activity squares/rectangles with data attributes */
rect[data-count] {
  stroke: var(--dracula-orange) !important;
  stroke-width: 1px !important;
}

/* Commit metadata colors */
.commit-author-link { color: var(--dracula-cyan) !important; }
.commit-sha, .commit-sha-group { color: var(--dracula-purple) !important; }
.commit-row-message, .commit .commit-row-message { color: var(--dracula-foreground) !important; }
.commit .commit-content a { color: var(--dracula-cyan) !important; }

/* === BUTTONS === */
/* Primary buttons - purple background (solid) */
.btn-confirm, .btn-primary {
  background-color: var(--dracula-purple) !important;
  border-color: var(--dracula-purple) !important;
  color: var(--dracula-background) !important;
  border-radius: 12px !important;
}

.btn-confirm:hover, .btn-primary:hover {
  background-color: var(--dracula-pink) !important;
  border-color: var(--dracula-pink) !important;
}

/* Info buttons - purple */
.btn-info {
  background-color: var(--dracula-purple) !important;
  border-color: var(--dracula-purple) !important;
  color: var(--dracula-background) !important;
  border-radius: 12px !important;
}

.btn-info:hover {
  background-color: var(--dracula-pink) !important;
  border-color: var(--dracula-pink) !important;
}

/* Secondary buttons - cyan border (transparent) */
.btn-secondary, .btn-default {
  background-color: rgba(68, 71, 90, 0.8) !important;
  border-color: var(--dracula-cyan) !important;
  color: var(--dracula-cyan) !important;
  border-radius: 12px !important;
  border-width: 2px !important;
}

.btn-secondary:hover, .btn-default:hover {
  background-color: rgba(139, 233, 253, 0.2) !important;
  border-color: var(--dracula-cyan) !important;
  color: var(--dracula-cyan) !important;
}

/* Success buttons - green (solid) */
.btn-success {
  background-color: var(--dracula-green) !important;
  border-color: var(--dracula-green) !important;
  color: var(--dracula-background) !important;
  border-radius: 12px !important;
}

.btn-success:hover {
  background-color: #69ff94 !important;
}

/* Danger buttons - transparent with orange border */
.btn-danger {
  background-color: rgba(68, 71, 90, 0.8) !important;
  border-color: var(--dracula-orange) !important;
  color: var(--dracula-orange) !important;
  border-radius: 12px !important;
  border-width: 2px !important;
}

.btn-danger:hover {
  background-color: rgba(255, 184, 108, 0.2) !important;
  border-color: var(--dracula-orange) !important;
  color: var(--dracula-orange) !important;
}

/* Warning buttons - orange (solid) */
.btn-warning {
  background-color: var(--dracula-orange) !important;
  border-color: var(--dracula-orange) !important;
  color: var(--dracula-background) !important;
  border-radius: 12px !important;
}

/* All buttons already have border-radius in their specific classes */

/* === DROPDOWNS - Purple themed with transparency === */
.dropdown-menu, .select-menu, .dropdown-content,
.gl-new-dropdown-panel, .gl-dropdown-contents {
  background-color: rgba(40, 42, 54, 0.95) !important;
  border: 2px solid var(--dracula-purple) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px 0 rgba(189, 147, 249, 0.4) !important;
}

.dropdown-item, .dropdown-menu-item, .gl-new-dropdown-item {
  color: var(--dracula-foreground) !important;
}

.dropdown-item:hover, .dropdown-menu-item:hover, .gl-new-dropdown-item:hover {
  background-color: rgba(189, 147, 249, 0.2) !important;
  color: var(--dracula-purple) !important;
}

/* Dropdown toggle buttons - transparent with purple border */
.dropdown-toggle, .dropdown-menu-toggle, .gl-dropdown-toggle,
.dropdown-toggle-split, .btn-group > .btn-default:not(:first-child) {
  background-color: rgba(68, 71, 90, 0.8) !important;
  border-color: var(--dracula-purple) !important;
  color: var(--dracula-purple) !important;
  border-radius: 12px !important;
  border-width: 2px !important;
}

.dropdown-toggle:hover, .dropdown-menu-toggle:hover, .gl-dropdown-toggle:hover {
  background-color: rgba(189, 147, 249, 0.2) !important;
  border-color: var(--dracula-purple) !important;
  color: var(--dracula-purple) !important;
}

/* === SEARCH BARS - Purple === */
.search, .search-form, .search-input-container,
input[type="search"], input[name="search"],
.form-control.search, .gl-search-box-by-type-input,
.search-input, input[placeholder*="Search"], input[placeholder*="search"],
input[aria-label*="Search"], input[aria-label*="search"],
.gl-search-box-by-type input, [class*="search"] input,
.header-search input, .global-search input {
  background-color: rgba(68, 71, 90, 0.6) !important;
  border: 2px solid var(--dracula-purple) !important;
  border-radius: 12px !important;
  color: var(--dracula-foreground) !important;
}

.search:focus, .search-form input:focus,
input[type="search"]:focus, input[name="search"]:focus,
.form-control.search:focus, .gl-search-box-by-type-input:focus,
.search-input:focus, input[placeholder*="Search"]:focus,
input[aria-label*="Search"]:focus,
.gl-search-box-by-type input:focus, [class*="search"] input:focus,
.header-search input:focus, .global-search input:focus {
  border-color: var(--dracula-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 121, 198, 0.25) !important;
  outline: none !important;
}

.search-icon, .search-btn, .gl-search-box-by-type .gl-icon,
[class*="search"] .gl-icon, .header-search .gl-icon {
  color: var(--dracula-purple) !important;
}

/* === TEXT INPUTS - Pink borders === */
.form-control:not([type="search"]):not(.search),
input[type="text"], input[type="email"],
input[type="password"], input[type="number"],
input[type="url"], input[type="tel"],
textarea, select {
  background-color: rgba(68, 71, 90, 0.6) !important;
  border: 2px solid var(--dracula-pink) !important;
  border-radius: 8px !important;
  color: var(--dracula-foreground) !important;
}

.form-control:not([type="search"]):not(.search):focus,
input[type="text"]:focus, input[type="email"]:focus,
input[type="password"]:focus, input[type="number"]:focus,
input[type="url"]:focus, input[type="tel"]:focus,
textarea:focus, select:focus {
  border-color: var(--dracula-purple) !important;
  box-shadow: 0 0 0 3px rgba(189, 147, 249, 0.25) !important;
  outline: none !important;
}

/* Input placeholders - pink tint */
::placeholder, ::-webkit-input-placeholder {
  color: rgba(255, 121, 198, 0.6) !important;
}

/* === NAVIGATION / SIDEBAR === */
/* Sidebar container */
.sidebar, .nav-sidebar, .sidebar-top-level-items,
.nav-links, .nav-item, aside.nav-sidebar,
.context-header {
  background-color: var(--dracula-background) !important;
}

/* Sidebar search bar - PURPLE (higher specificity) */
.nav-sidebar input[type="search"],
.nav-sidebar input[type="text"],
.nav-sidebar .search,
.nav-sidebar .search-input,
.nav-sidebar .form-control,
aside.nav-sidebar input[type="search"],
aside.nav-sidebar input[type="text"],
aside.nav-sidebar .search,
aside.nav-sidebar .form-control,
.sidebar .search-form input,
.context-header input[type="search"],
.context-header input[type="text"],
nav.nav-sidebar input {
  background-color: rgba(68, 71, 90, 0.6) !important;
  border: 2px solid var(--dracula-purple) !important;
  border-radius: 12px !important;
  color: var(--dracula-foreground) !important;
}

.nav-sidebar input[type="search"]:focus,
.nav-sidebar input[type="text"]:focus,
.nav-sidebar .form-control:focus,
aside.nav-sidebar input[type="search"]:focus,
aside.nav-sidebar input[type="text"]:focus,
aside.nav-sidebar .form-control:focus,
.sidebar .search-form input:focus,
nav.nav-sidebar input:focus {
  border-color: var(--dracula-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 121, 198, 0.25) !important;
  outline: none !important;
}

/* Navigation items - GREEN text */
.nav-sidebar .nav-item a,
.nav-sidebar .nav-item-name,
.nav-sidebar .sidebar-top-level-items > li > a,
.nav-sidebar .nav-links li a,
.nav-sidebar .sidebar-sub-level-items a,
aside.nav-sidebar a,
.sidebar-top-level-items > li > a,
.nav-links li a,
.sidebar-sub-level-items a {
  color: var(--dracula-green) !important;
}

/* Navigation items - hover CYAN */
.nav-sidebar .nav-item:hover,
.nav-sidebar .nav-item-name:hover,
.nav-sidebar .sidebar-top-level-items > li > a:hover,
.nav-sidebar .nav-links li a:hover,
aside.nav-sidebar a:hover,
.sidebar-top-level-items > li > a:hover,
.nav-links li a:hover {
  background-color: rgba(139, 233, 253, 0.15) !important;
  color: var(--dracula-cyan) !important;
}

/* Navigation items - expanded/open CYAN border */
.nav-sidebar .nav-item.open,
.nav-sidebar .nav-item.expanded,
.nav-sidebar .nav-item[aria-expanded="true"],
.nav-sidebar .sidebar-top-level-items > li.open > a,
.nav-sidebar .sidebar-top-level-items > li.expanded > a,
.nav-sidebar .sidebar-top-level-items > li[aria-expanded="true"] > a,
aside.nav-sidebar li.open > a,
aside.nav-sidebar li.expanded > a,
.sidebar-top-level-items > li.open > a,
.sidebar-top-level-items > li.expanded > a,
.nav-links li.open a,
.nav-links li.expanded a {
  border-left: 3px solid var(--dracula-cyan) !important;
  padding-left: 8px !important;
}

/* Navigation items - active PURPLE with left marker */
.nav-sidebar .nav-item.active,
.nav-sidebar .nav-item-name.active,
.nav-sidebar .sidebar-top-level-items > li.active > a,
.nav-sidebar .nav-links li.active a,
.nav-sidebar .nav-item[aria-current],
aside.nav-sidebar li.active > a,
.sidebar-top-level-items > li.active > a,
.nav-links li.active a,
.nav-item[aria-current],
[aria-current="page"] {
  background-color: rgba(189, 147, 249, 0.25) !important;
  color: var(--dracula-purple) !important;
  border-left: 3px solid var(--dracula-purple) !important;
  padding-left: 3px !important;
  padding-right: 4px !important;
  padding-bottom: 4px !important;
  padding-top: 4px !important;
}

/* Sidebar submenus and popovers - PURPLE borders */
.nav-sidebar .sidebar-sub-level-items,
.nav-sidebar .nav-item .nav-links,
aside.nav-sidebar ul,
.sidebar-sub-level-items,
.nav-sidebar ul,
.sidebar-menu ul,
[class*="submenu"],
[class*="sub-menu"],
.nav-sidebar [class*="popover"],
.nav-sidebar .context-menu {
  background-color: rgba(40, 42, 54, 0.95) !important;
  border: 2px solid var(--dracula-purple) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px 0 rgba(189, 147, 249, 0.4) !important;
}

.nav-sidebar .sidebar-sub-level-items a:hover,
.nav-sidebar .nav-item .nav-links a:hover,
.sidebar-sub-level-items a:hover {
  color: var(--dracula-cyan) !important;
  background-color: rgba(139, 233, 253, 0.1) !important;
}

/* === TABLES - Rounded like Authentik === */
.table, .gl-table, table {
  background-color: rgba(40, 42, 54, 0.5) !important;
  border-radius: 16px !important;
  border: 2px solid rgba(189, 147, 249, 0.3) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Table headers */
.table thead, .gl-table thead, table thead {
  background-color: var(--dracula-current-line) !important;
  border-radius: 16px 16px 0 0 !important;
}

/* Table header first row */
.table thead tr:first-child, .gl-table thead tr:first-child, table thead tr:first-child {
  border-radius: 16px 16px 0 0 !important;
}

/* Round top-left corner of first header cell */
.table thead tr:first-child th:first-child,
.gl-table thead tr:first-child th:first-child,
table thead tr:first-child th:first-child {
  border-top-left-radius: 16px !important;
}

/* Round top-right corner of last header cell */
.table thead tr:first-child th:last-child,
.gl-table thead tr:first-child th:last-child,
table thead tr:first-child th:last-child {
  border-top-right-radius: 16px !important;
}

/* Table rows */
.table tr, .gl-table tr, table tr {
  background-color: rgba(40, 42, 54, 0.3) !important;
  border-bottom: 2px solid rgba(189, 147, 249, 0.15) !important;
}

.table tr:hover, .gl-table tr:hover, table tr:hover {
  background-color: rgba(189, 147, 249, 0.15) !important;
}

/* Round bottom-left corner of last row first cell */
.table tbody tr:last-child td:first-child,
.gl-table tbody tr:last-child td:first-child,
table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 16px !important;
}

/* Round bottom-right corner of last row last cell */
.table tbody tr:last-child td:last-child,
.gl-table tbody tr:last-child td:last-child,
table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 16px !important;
}

/* Table container wrappers */
.table-responsive, .table-holder, .gl-responsive-table-wrapper,
.content-list, .project-list-table {
  background: rgba(40, 42, 54, 0.9) !important;
  border-radius: 20px !important;
  border: 2px solid rgba(189, 147, 249, 0.3) !important;
  overflow: hidden !important;
}

/* === LINKS - Cyan with green for success === */
a:not(.btn):not(.badge) {
  color: var(--dracula-cyan) !important;
}

a:not(.btn):not(.badge):hover {
  color: var(--dracula-pink) !important;
}

/* Success links - green */
.alert-success a, .success a,
.merge-request-status.merged a,
.ci-status-icon-success a {
  color: var(--dracula-green) !important;
}

/* === BADGES/LABELS - Pink accent === */
.badge, .gl-badge, .label {
  background-color: var(--dracula-pink) !important;
  color: var(--dracula-background) !important;
  border-radius: 8px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* === ACTIVITY LIST ITEMS === */
.activity-item, .event-item, .commit-row-title,
.commit-item, .note-wrapper, .timeline-entry,
.issuable-info-container, .event-title {
  padding-left: 16px !important;
}

/* Activity list second rows / details - add extra indentation */
.activity-item .event-body,
.activity-item .event-note,
.event-item .event-body,
.event-item .event-note,
.commit-item .commit-detail,
.commit-item .commit-content,
.timeline-entry .timeline-content,
.note-wrapper .note-body {
  padding-left: 18px !important;
}

/* "...and X more commits" text - match indentatin */
.commit-row-more,
.commits-more,
.commits-stat,
.more-commits-text,
.event-note.system-note,
.system-note-commit-list,
.system-note-commit-list-item,
.collapsed-commits,
.collapse-commits-text,
[class*="more-commits"],
[class*="commits-stat"],
[class*="collapsed-commits"],
[class*="commits-more"],
li.commits-collapsable,
.commit-collapsible-row,
.commit.system-note,
.note-wrapper.system-note,
.event-item-collapsible {
  padding-left: 18px !important;
  margin-left: 0 !important;
}

/* === ACTIVITY TIMELINE MARKERS - Orange === */
/* Timeline icon circles/markers - only the activity feed timeline */
.timeline-entry::before,
.event-item::before,
.activity-item::before {
  background-color: var(--dracula-orange) !important;
  border-color: var(--dracula-orange) !important;
}

/* Timeline vertical connector lines */
.timeline::before,
.timeline-entry::after,
.activity-feed::before,
.events-list::before,
.event-item::after,
.activity-item::after {
  border-left-color: var(--dracula-orange) !important;
  background-color: var(--dracula-orange) !important;
}

.badge-success, .gl-badge.badge-success {
  background-color: var(--dracula-green) !important;
  color: var(--dracula-background) !important;
}

.badge-danger, .gl-badge.badge-danger {
  background-color: var(--dracula-orange) !important;
  color: var(--dracula-background) !important;
}

.badge-warning, .gl-badge.badge-warning {
  background-color: var(--dracula-orange) !important;
  color: var(--dracula-background) !important;
}

.badge-info, .gl-badge.badge-info {
  background-color: var(--dracula-purple) !important;
  color: var(--dracula-background) !important;
}

/* === ALERTS === */
.alert, .flash-notice, .flash-alert {
  border-radius: 12px !important;
  border-width: 2px !important;
}

.alert-success, .flash-notice {
  background-color: rgba(80, 250, 123, 0.15) !important;
  border-color: var(--dracula-green) !important;
  color: var(--dracula-green) !important;
}

.alert-danger, .flash-alert {
  background-color: rgba(255, 85, 85, 0.15) !important;
  border-color: var(--dracula-red) !important;
  color: var(--dracula-red) !important;
}

.alert-warning {
  background-color: rgba(255, 184, 108, 0.15) !important;
  border-color: var(--dracula-orange) !important;
  color: var(--dracula-orange) !important;
}

.alert-info {
  background-color: rgba(139, 233, 253, 0.15) !important;
  border-color: var(--dracula-cyan) !important;
  color: var(--dracula-cyan) !important;
}

/* === STATUS INDICATORS - GREEN === */
.ci-status-icon-success, .merge-request-status.merged,
.status-success, .pipeline-success {
  color: var(--dracula-green) !important;
}

.ci-status-text-success, .status-box-success {
  color: var(--dracula-green) !important;
  border-color: var(--dracula-green) !important;
}

/* === TABS === */
.nav-tabs .nav-link {
  color: var(--dracula-foreground) !important;
  background-color: rgba(68, 71, 90, 0.6) !important;
  border: 1px solid rgba(189, 147, 249, 0.3) !important;
  border-radius: 8px 8px 0 0 !important;
}

.nav-tabs .nav-link:hover {
  color: var(--dracula-cyan) !important;
  background-color: rgba(139, 233, 253, 0.1) !important;
  border-color: var(--dracula-cyan) !important;
}

.nav-tabs .nav-link.active {
  color: var(--dracula-purple) !important;
  border-bottom: 3px solid var(--dracula-purple) !important;
  background-color: rgba(189, 147, 249, 0.1) !important;
  border-color: var(--dracula-purple) !important;
}

/* === CARDS/PANELS - Pink borders === */
.card, .panel, .gl-card {
  background-color: rgba(40, 42, 54, 0.7) !important;
  border: 2px solid var(--dracula-pink) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(255, 121, 198, 0.2) !important;
}

.card-header, .panel-heading {
  background-color: rgba(68, 71, 90, 0.7) !important;
  border-bottom: 1px solid var(--dracula-pink) !important;
  border-radius: 12px 12px 0 0 !important;
}

/* === MODALS === */
/* .modal, .modal-dialog, .gl-modal, */
.modal, .gl-modal,
.modal-content, .gl-modal-wrapper {
  background-color: rgba(40, 42, 54, 0.95) !important;
  border: 2px solid var(--dracula-purple) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4) !important;
}

.modal-header, .gl-modal-header {
  background-color: rgba(68, 71, 90, 0.7) !important;
  border-bottom: 2px solid var(--dracula-purple) !important;
  border-radius: 20px 20px 0 0 !important;
}

.modal-footer, .gl-modal-footer {
  background-color: rgba(68, 71, 90, 0.7) !important;
  border-top: 2px solid var(--dracula-purple) !important;
  border-radius: 0 0 20px 20px !important;
}

.modal-body, .gl-modal-body {
  background-color: rgba(40, 42, 54, 0.8) !important;
}

/* Modal backdrop */
.modal-backdrop, .gl-modal-backdrop {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* Remove borders from nested divs that are the only child */
.modal > div:only-child,
.modal-dialog > div:only-child,
.modal-content > div:only-child:not(.modal-header):not(.modal-footer):not(.modal-body),
.gl-modal > div:only-child,
.gl-modal-wrapper > div:only-child {
  border: none !important;
}

/* Search modal - remove nested boxes */
.search-modal .modal-body > div:only-child,
.global-search-modal > div:only-child,
[class*="search"][class*="modal"] .modal-content > div:only-child {
  border: none !important;
  border-radius: 0 !important;
}

/* Search dropdown/suggestions - remove top square box */
.search-results,
.search-suggestions,
.search-dropdown,
[class*="search-results-container"],
[class*="suggestions-dropdown"] {
  border-top: none !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* Commit list items - no individual borders to prevent double borders */
.commit:hover, .commit-row:hover {
  background-color: rgba(189, 147, 249, 0.15) !important;
}
