/* Fx Professional Services — Redmine 7.0.1. Inherit core behavior and layout. */
@import url("/assets/application-5bad425e.css");

@font-face {
  font-family: "Space Grotesk";
  src: url("/assets/themes/fxps-dark/SpaceGrotesk-7ca7dc6d.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-Regular-79840ffb.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-Italic-516efdec.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-Medium-9c00ee4c.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-MediumItalic-d6b9cd58.ttf") format("truetype");
  font-style: italic;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-SemiBold-03bba9e6.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-SemiBoldItalic-25bc337e.ttf") format("truetype");
  font-style: italic;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-Bold-0c997ba6.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/themes/fxps-dark/Poppins-BoldItalic-9479d583.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

/* Screen-only palette: Redmine's print stylesheet retains light paper output. */
@media screen {
  :root {
    color-scheme: dark;
    --fonts-main: "Poppins", system-ui, sans-serif;
    --fx-font-headings: "Space Grotesk", system-ui, sans-serif;
    --fx-bg: #0b1018;
    --fx-surface: #192635;
    --fx-raised: #2b3e54;
    --fx-border: #526983;
    --fx-control-border: #8297b1;
    --fx-text: #eef1f5;
    --fx-muted: #bdcadb;
    --fx-orange: #e76c21;
    --fx-link: #ffb484;
    --fx-focus: #ffc093;
    --color-current-marker: var(--fx-orange);
    /* Adapt the palette used by core tables, forms, wiki, calendar and Gantt. */
    --oc-white: #111923;
    --oc-black: #eef1f5;
    --oc-black-rgb: 0, 0, 0;
    --oc-gray-0: #141d29;
    --oc-gray-1: #182230;
    --oc-gray-2: #202c3a;
    --oc-gray-3: #2d3b4c;
    --oc-gray-4: #405067;
    --oc-gray-5: #a6b8ce;
    --oc-gray-6: #bdcadb;
    --oc-gray-7: #c0ccda;
    --oc-gray-8: #dde5ee;
    --oc-gray-9: #eef1f5;
    --oc-gray-9-rgb: 0, 0, 0;
    --oc-indigo-0: #172230;
    --oc-indigo-1: #263142;
    --oc-indigo-2: #334055;
    --oc-indigo-5: #e76c21;
    --oc-indigo-7: #ffb484;
    --oc-indigo-9: #ffc093;
    --oc-blue-0: #162c3e;
    --oc-blue-5: #81bcea;
    --oc-blue-6: #96c9f0;
    --oc-blue-7: #abd5f5;
    --oc-blue-9: #cee7fa;
    --oc-green-1: #142d27;
    --oc-green-2: #1c3a31;
    --oc-green-3: #264e3e;
    --oc-green-4: #39775c;
    --oc-green-7: #78c4a0;
    --oc-green-8: #9bdbb9;
    --oc-green-9: #bdebd2;
    --oc-red-1: #331e26;
    --oc-red-2: #45242e;
    --oc-red-3: #592c37;
    --oc-red-4: #793c48;
    --oc-red-7: #f69ca7;
    --oc-red-8: #ffb1b8;
    --oc-red-9: #ffc8cd;
    --oc-yellow-0: #292316;
    --oc-yellow-1: #332a18;
    --oc-yellow-2: #42351e;
    --oc-yellow-3: #5a4726;
    --oc-yellow-4: #755e35;
    --oc-yellow-7: #dbbd7b;
    --oc-yellow-8: #efd49a;
    --oc-yellow-9: #f6e1b5;
    --oc-orange-1: #35261e;
    --oc-orange-6: #f59b60;
    --oc-orange-7: #ffb484;
    --oc-orange-9: #ffd2b4;
    --oc-violet-0: #282137;
    --oc-violet-1: #342a48;
    --oc-grape-7: #ceabeb;
    --oc-grape-9: #e2c9f7;
    --oc-pink-5: #e7a4c5;
    --oc-pink-9: #f5c5dc;
    --oc-cyan-6: #8dcbd7;
  }

  html, body, #wrapper { background: var(--fx-bg); color: var(--fx-text); }
  body { font-size: 15px; line-height: 1.5; }
  a, a:link, a:visited { color: var(--fx-link); }
  a:hover, a:active { color: #ffcfad; }
  body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 2px solid var(--fx-focus); outline-offset: 3px;
  }
  /* Form rows clip overflow; keep the full keyboard ring inside control edges. */
  body :is(input, select, textarea):focus-visible:not(:disabled) {
    outline: 2px solid var(--fx-focus); outline-offset: -2px; box-shadow: none;
  }
  ::selection { background: #834a2a; color: #fff5ec; }
  h1, h2, h3, h4, h5, h6 { font-family: var(--fx-font-headings); }
  h1, h2, h3, #content h1 { color: var(--fx-text); letter-spacing: -.025em; }
  h2 { font-size: 25px; font-weight: 600; margin-bottom: 22px; }
  h3 { font-size: 17px; font-weight: 600; }

  /* App shell: branding occupies existing header space; no DOM rearrangement. */
  nav.top-menu { background: #090e15; border-bottom: 1px solid #202a37; padding: 8px 24px; font-size: 12px; }
  .top-menu__links a, .top-menu__links a:link, .top-menu__links a:visited,
  #account .dropdown-trigger { color: var(--fx-muted); border-radius: 5px; }
  .top-menu__links a:hover, #account .dropdown-trigger:hover { color: #fff5ec; background: var(--fx-raised); }
  #header { background: var(--fx-surface); color: var(--fx-text); padding-inline: 28px; padding-top: 24px; padding-bottom: 56px; min-height: 66px; }
  #header h1 { color: var(--fx-text); font-size: 23px; font-weight: 600; padding-inline-start: 52px; background: url("/assets/themes/fxps-dark/fxp-logo-5dbad1e4.webp") no-repeat left center / 38px auto; min-height: 38px; display: flex; align-items: flex-start; gap: 3px; }
  body:not(.has-main-menu) #header { padding-bottom: 22px; }
  #header h1 .breadcrumbs { font-size: 14px; color: var(--fx-muted); }
  #quick-search { margin-top: 2px; font-size: 12px; }
  #quick-search a { color: var(--fx-muted); }
  #main-menu { background: #111923; border-top: 1px solid #263344; border-bottom: 1px solid var(--fx-border); padding: 4px 24px 0; }
  #main-menu li a { color: var(--fx-muted); font-size: 13px; padding: 12px 15px; border-radius: 6px 6px 0 0; }
  #main-menu li a:hover { color: var(--fx-text); background: #1a2635; }
  #main-menu li a.selected, #main-menu li a.selected:hover { background: #252720; color: #ffd0ae; box-shadow: inset 0 -3px var(--fx-orange); font-weight: 600; }
  #main-menu li a.new-object { background: #33271f; border-color: #9a582e; color: var(--fx-link); margin: 4px 5px; border-radius: 6px; }
  #content { background: var(--fx-bg); padding: 26px 28px; }
  #sidebar { background: var(--fx-surface); border-color: var(--fx-border); padding: 24px 18px; font-size: 13px; }
  #sidebar h3 { color: #cfdae7; font-size: 13px; margin-top: 25px; }
  #sidebar a { color: var(--fx-muted); }
  #sidebar a:hover, #sidebar a.selected { color: var(--fx-link); }
  #sidebar-switch-panel, #sidebar-switch-button { background: var(--fx-surface); }
  #footer { background: var(--fx-bg); border-color: #253142; color: #93a3b8; padding: 16px; font-size: 11px; }

  /* Filters stay compact so the issue list remains the primary content. */
  #query_form_with_buttons { background: var(--fx-surface); border: 1px solid var(--fx-border); border-radius: 9px; padding: 16px 18px 8px; margin-bottom: 22px; }
  #query_form_content fieldset { border-color: #334255; }
  fieldset legend { color: #c7d3e1; font-weight: 500; }
  #query_form_with_buttons p.buttons { margin: 10px 0 4px; }
  #query_form_with_buttons .buttons a { margin-inline-end: 15px; }
  #query_form_with_buttons select { font-size: 12px; }

  /* Dense, legible tables. Preserve nesting, bulk selection and numeric alignment. */
  table.list, .table-list { font-size: 13.5px; border-color: var(--fx-border); }
  table.list th, .table-list-header { background: #2c4058; color: var(--fx-text); padding: 8px 9px; border-bottom: 1px solid #7188a3; font-weight: 500; }
  table.list th a { color: #c2cedc; }
  table.list td { border-color: #405570; padding-block: 5px; padding-inline-end: 10px; }
  table.list:not(.odd-even) tbody tr:nth-child(odd), .odd { background-color: #152130; }
  table.list:not(.odd-even) tbody tr:nth-child(even), .even { background-color: #223246; }
  table.list tbody tr:hover { background-color: #344c66; }
  table.list td.subject a { color: #e3e9f1; font-weight: 400; }
  /* Compact scan fields; leave descriptions, comments and multi-value cells wrapping. */
  table.list td:is(.id, .project, .tracker, .status, .priority, .assigned_to,
    .author, .updated_on, .created_on, .start_date, .due_date,
    .estimated_hours, .spent_hours, .hours) { white-space: nowrap; }
  table.issues td.subject {
    max-inline-size: clamp(18rem, 36vw, 42rem);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  table.issues td:is(.project, .assigned_to, .author) {
    max-inline-size: 12rem;
    overflow: hidden; text-overflow: ellipsis;
  }
  /* Core bolds the current user's author/assignee cells; keep rows visually even. */
  table.list tr.issue.created-by-me td.author,
  table.list tr.issue.assigned-to-me td.assigned_to,
  table.list tr.issue.assigned-to-my-group td.assigned_to { font-weight: 400; }
  table.list tr.group td, table.list td.parent-subject,
  table.issue-report tr.total, table.issue-report-detailed tr.total,
  table.time-entries td.hours { font-weight: 500; }
  table.list td.subject a:hover { color: var(--fx-link); }
  table.list td.id a { color: #c5d6eb; font-variant-numeric: tabular-nums; }
  table.list td.project a, table.list td.assigned_to a { color: #d0dced; }
  table.list td.updated_on, table.list td.created_on { color: var(--fx-muted); font-size: 13px; }
  table.list td.status { color: #bedbcd; }
  /* Redmine numbers elevated priorities down from the highest (high2, high3...).
     Use those semantic classes rather than database IDs; retain selection styling. */
  table.list tbody tr.issue[class*="priority-high"] {
    --fx-priority-accent: #eab66d;
    --fx-priority-surface: #29251e;
    --fx-priority-hover: #373026;
    background-color: var(--fx-priority-surface);
  }
  table.list tbody tr.issue.priority-high2 {
    --fx-priority-accent: #ffa477;
    --fx-priority-surface: #30221d;
    --fx-priority-hover: #3e2c24;
  }
  table.list tbody tr.issue.priority-highest {
    --fx-priority-accent: #ff9ca8;
    --fx-priority-surface: #302028;
    --fx-priority-hover: #402932;
  }
  table.list tbody tr.issue[class*="priority-high"]:hover { background-color: var(--fx-priority-hover); }
  table.list tbody tr.issue[class*="priority-high"] > td:first-child { border-inline-start: 3px solid var(--fx-priority-accent); }
  table.list tbody tr.issue[class*="priority-high"] > td.priority { color: var(--fx-priority-accent); font-weight: 600; }
  tr.issue.closed td.subject a { color: var(--fx-muted); }
  tr.context-menu-selection, tr.context-menu-selection:hover { background: #3d352c !important; color: #fff1e5 !important; }
  tr.context-menu-selection a { color: #ffe2cc !important; }
  .pagination ul.pages li a, .pagination ul.pages li span { border-radius: 5px; border-color: var(--fx-border); }
  .pagination ul.pages li.current { background: #35271e; color: var(--fx-link); border-color: #98603c; }

  /* Inputs and actions retain native semantics, validation and disabled states. */
  input, select, textarea, button { font-family: var(--fonts-main); color: var(--fx-text); background-color: #101923; border-color: var(--fx-control-border); border-radius: 6px; }
  input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]), select { min-height: 32px; padding: 5px 8px; }
  select { padding-inline-end: 28px; }
  input[type=submit], button[type=submit] { height: auto; min-height: 36px; }
  textarea { padding: 10px 12px; line-height: 1.6; }
  input[type=checkbox], input[type=radio] { accent-color: var(--fx-orange); }
  input::placeholder, textarea::placeholder { color: #b0bfd2; opacity: 1; }
  input:disabled, select:disabled, textarea:disabled, button:disabled { opacity: .55; cursor: not-allowed; }
  input[type=submit], input[type=button], button, .button { background: #243142; color: #e7edf5; border: 1px solid var(--fx-control-border); padding: 7px 13px; font-weight: 500; cursor: pointer; }
  input[type=submit], #login-submit, #content > .contextual > a.icon-add, .contextual a.new-issue { background: var(--fx-orange); color: #211208; border: 1px solid #ec843e; border-radius: 6px; padding: 8px 15px; text-decoration: none; font-weight: 600; }
  input[type=submit]:hover, #login-submit:hover, #content > .contextual > a.icon-add:hover { background: #f5823a; color: #211208; }
  #content > .contextual > a.icon-add svg { stroke: currentColor; }
  button:hover, input[type=button]:hover { background-color: #304057; }
  input:autofill { box-shadow: 0 0 0 100px #182536 inset; -webkit-text-fill-color: var(--fx-text); caret-color: var(--fx-text); }
  .box, div.issue, #issue-form > .box { background: var(--fx-surface); border: 1px solid var(--fx-border); border-radius: 9px; padding: 20px; }
  div.issue { border-top: 2px solid #d99869; margin-top: 15px; }
  div.issue .subject h3 { font-size: 23px; line-height: 1.35; }
  div.issue .author, div.issue .attributes .label { color: var(--fx-muted); }
  div.issue .attributes .value { color: var(--fx-text); }
  div.journal { background: var(--fx-surface); border: 1px solid var(--fx-border); border-radius: 8px; padding: 16px 20px; margin: 14px 0; }
  div.journal h4 { border-color: #354458; color: #c4d0de; padding-bottom: 10px; }
  /* Separate issue notes through contrast without changing history geometry. */
  #history .journal { border-color: #617995; }
  #history .journal.has-notes { background: #203146; }
  #history .journal h4.journal-header {
    background: #344c66; color: #e5edf7; box-shadow: inset 0 -1px #7890ab;
  }
  #history .journal:not(.has-notes) h4.journal-header { background: #2b3c50; }
  #history .journal .journal-details { color: #ced8e6; }
  #history .journal .journal-link { color: #d6e3f2; }
  #history .journal.private-notes { border-inline-start-color: #ffb1b8; }
  #history .journal:target h4.journal-header,
  #history .journal .note:target h4.journal-header { background: #493725; box-shadow: inset 0 -1px #b88552; }
  .wiki pre, .wiki code, pre { background-color: #101923; color: #d5dfeb; }
  .wiki blockquote { border-color: #765132; color: #bcc9d9; }
  .wiki table, .wiki td, .wiki th { border-color: var(--fx-border); }
  .wiki img { max-width: 100%; }
  .jstEditor textarea, .jstBlock .wiki-preview { background: #101923; color: var(--fx-text); }
  .jstElements, .jstTabs { background: #1c2938; border-color: var(--fx-border); }
  /* The stock editor toolbar uses black SVG background images. Invert only
     these transparent icon buttons; never invert document images or charts. */
  .jstBlock .jstElements button { background-color: transparent; border-color: transparent; color: #111923; filter: invert(.85) hue-rotate(180deg); }
  .jstBlock .jstElements button::before { color: inherit; }
  .jstBlock .jstElements button:hover { background-color: #c6cfd9; }
  .syntaxhl { color: #d5dfeb; background: #141e2a; }
  .syntaxhl :is(.c,.ch,.cm,.cp,.cpf,.c1,.cs,.go) { color: #a6b4c6; }
  .syntaxhl :is(.k,.kc,.kd,.kn,.kp,.kr,.kt,.nt,.nb,.bp) { color: #9bdbb9; }
  .syntaxhl :is(.nc,.na,.nf,.fm,.nn,.ne,.gu) { color: #e1b6ee; }
  .syntaxhl :is(.o,.ow,.nd,.w) { color: #d5dfeb; }
  .syntaxhl :is(.m,.mb,.mf,.mh,.mi,.mo,.il,.nv,.vc,.vg,.vi,.vm,.no,.nl,.ni) { color: #f2d097; }
  .syntaxhl :is(.s,.sa,.sb,.sc,.dl,.sd,.s2,.se,.sh,.si,.sx,.sr,.s1,.ss) { color: #a5d5ee; background: transparent; }
  .syntaxhl :is(.gd,.gr,.err) { color: #ffc0c7; background: #45242e; }
  .syntaxhl .gi { color: #bdebd2; background: #1c3a31; }
  .syntaxhl :is(.gh,.gt) { color: #a5d5ee; }
  #projects-index ul.projects li.root, .mypage-box { background: var(--fx-surface); border-color: var(--fx-border); border-radius: 9px; }

  /* Menus, dialogs, validation, and the mobile flyout need explicit dark surfaces. */
  .dropdown-content, .drdn-content, #context-menu ul, #main-menu .menu-children,
  .ui-widget-content, .ui-dialog, .ui-datepicker, .ui-autocomplete, div.modal,
  .tooltip span.tip { background: #26384e; color: var(--fx-text); border-color: #7b91ac; box-shadow: 0 12px 30px #0005; }
  .dropdown-content a, .drdn-content a, #context-menu a { color: #d5e0ee; }
  .dropdown-content a:hover, .drdn-content a:hover, #context-menu a:hover,
  #project-jump .drdn-items > a:hover, #main-menu .menu-children li a:hover { background-color: #374353; color: #ffe0c9 !important; }
  /* Context-menu CSS loads after the theme; outrank its white surfaces and borders. */
  body #context-menu ul { background: #26384e; color: var(--fx-text); border-color: #7b91ac; box-shadow: 0 12px 30px #0005; }
  body #context-menu li, .drdn-items > * { border-color: transparent; }
  body #context-menu a { color: #d5e0ee; }
  body #context-menu li:hover,
  .contextual .drdn-items > a:hover, .journal-actions .drdn-items > a:hover {
    background-color: #374353; border-color: #657990; color: #ffe0c9;
  }
  body #context-menu a.disabled, body #context-menu a.disabled:hover { color: #91a0b3; }
  div#sticky-issue-header {
    background: #26384e; color: var(--fx-text); border-color: #7b91ac;
    box-shadow: 0 3px 12px #0006; font-size: 13.5px;
  }
  div#sticky-issue-header .subject { font-weight: 500; }
  #project-jump .drdn-trigger { background-color: #172331; color: var(--fx-text); border-color: var(--fx-control-border); border-radius: 6px; }
  #content .tabs ul li a { background: #223247; border-color: #7187a2; color: var(--fx-muted); border-radius: 6px 6px 0 0; padding: 7px 12px; }
  #content .tabs ul li a.selected, #content .tabs ul li a.selected:hover { background: #29271f; color: var(--fx-link); border-bottom-color: var(--fx-orange); }
  div.tabs-buttons { background: var(--fx-surface); }
  .ui-widget-header, .ui-state-default, .ui-widget-content .ui-state-default { background: #233144; color: #e5edf7; border-color: #465b73; }
  .ui-state-hover, .ui-widget-content .ui-state-hover { background: #35465c; color: #fff0e5; }
  .ui-state-active, .ui-widget-content .ui-state-active { background: #6c4128; color: #fff0e5; }
  .flash.notice { color: #bdebd2; background: #173128; border-color: #517f68; }
  .flash.warning { color: #f6e1b5; background: #352b1a; border-color: #8f7548; }
  .flash.error, #errorExplanation { color: #ffc8cd; background: #351f28; border-color: #9c6170; }
  #errorExplanation h2 { color: #ffc8cd; background: #4c2a36; }
  .nodata { color: var(--fx-muted); background: #17212e; border-color: #405167; }
  #login-form { background: var(--fx-surface); border: 1px solid #3e4e63; border-top: 3px solid var(--fx-orange); border-radius: 12px; max-width: 360px; padding: 28px; margin: 55px auto; box-shadow: 0 20px 65px #0004; }
  #login-form input { min-height: 38px; }
  .flyout-menu { background: #111923; color: var(--fx-text); }
  .flyout-menu h3 { background: #1d2938; color: var(--fx-muted); border-color: #35465c; }
  .flyout-menu a, .flyout-menu a:link, .flyout-menu a:visited { color: #d9e2ec; }
  .flyout-menu input[type=text] { background: #1b293a; color: var(--fx-text); }
  .flyout-menu__avatar { background: #1b293a; }

  /* Routine labels do not compete with headings or authored emphasis. */
  .tabular label, #login-form label, div.issue .attributes .attribute .label,
  #history .journal h4.journal-header, #history .journal .journal-details strong {
    font-weight: 400;
  }
  div.issue .subject h3 { font-weight: 500; }
  #content .tabs ul li a, fieldset legend, #sidebar h3 { font-weight: 500; }
  div.issue.details > .description > p:first-child > strong,
  #issue_tree > p > strong, #relations > p > strong { font-weight: 500; }

  /* Match one-line labels to a consistent field height; retain stock form flow. */
  .tabular input, .tabular select, .tabular textarea { font-size: 15px; }
  .tabular input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
  .tabular select:not([multiple]) { box-sizing: border-box; height: 36px; margin-block: 0; vertical-align: middle; }
  @media (min-width: 900px) {
    #quick-search #q, #project-jump .drdn-trigger {
      box-sizing: border-box; height: 32px; font-size: 12px; line-height: 20px;
      padding-block: 5px; border-color: var(--fx-control-border); border-radius: 6px;
      background-color: #101b29;
    }
    #quick-search #q { inline-size: 200px; }
    #project-jump .drdn-content { inset-block-start: 34px; }

    .tabular p:has(> input:not([type=hidden]):not([type=checkbox]):not([type=radio]), > select:not([multiple])) > label:not(.inline) {
      line-height: 36px;
    }
  }

  /* Deliberate surface steps separate issue sections and controls at a glance. */
  hr { background: var(--fx-border); }
  fieldset, #query_form_content fieldset { border-color: var(--fx-border); }
  div.issue.details > .description {
    background: #101b29; color: var(--fx-text);
    border: 1px solid #526983; border-radius: 6px; padding: 12px 14px;
  }
  div.issue.details > .attributes { border-block-start: 1px solid #526983; padding-block-start: 10px; }
  div.issue.details > .description > p:first-child { color: #f4f7fb; }
  .box, div.issue.details, div.journal, #query_form_with_buttons, .mypage-box {
    box-shadow: 0 5px 16px #0003;
  }
  #sidebar h3 { color: #eef1f5; border-bottom: 1px solid #526983; padding-bottom: 6px; }
  #sidebar a, #footer { color: var(--fx-muted); }
  #main-menu { background-color: #192635; }
  #main-menu li a.selected, #content .tabs ul li a.selected {
    background-color: #493727; color: #ffe0c9; border-color: #b58b6e;
  }
  .pagination ul.pages li a { background: #223247; color: #e2eaf4; }
  /* Core autocomplete embeds a black search image; tint only this UI asset. */
  input.autocomplete:not(.ajax-loading) {
    background-color: #101b29;
    background-image: url("/assets/themes/fxps-dark/search-light-866868a8.svg");
  }
  select, select option, select optgroup { background-color: #101b29; color: var(--fx-text); color-scheme: dark; }
  input[type=checkbox], input[type=radio] { color-scheme: dark; }
  .ui-autocomplete li, .tribute-container, .drdn-items { color: var(--fx-text); background-color: #26384e; }
  .ui-autocomplete .ui-state-active, .tribute-container li.highlight { background: #425d7b; color: #fff; border-color: #93a8bf; }
  .jstElements, .jstTabs { background: #2b3e54; }
  .jstBlock .wiki-preview { border-color: var(--fx-control-border); }
  .badge-status-open { background: #264d6c; color: #e4f3ff; border-color: #8aafcc; }
  .badge-status-closed { background: #294c40; color: #d9f6e7; border-color: #83b59d; }
  .badge-status-locked { background: #51412a; color: #ffe9bf; border-color: #c0a16c; }
  .badge-private { background: #57313e; color: #ffdee4; border-color: #d59aa9; }
  table.progress { border: 1px solid #8ca0b8; }
  table.progress td.todo { background: #3e526b; }
  table.progress td.done { background: #66b18d; }
  table.progress td.closed { background: #b4e2c8; }
  .cal .calhead { background: #2c4058; color: #eef1f5; font-weight: 500; }
  .cal .calbody { border-color: #526983; }
  .cal .calbody.this-month { background: #192635; }
  .cal .calbody.nwday:not(.other-month) { background: #26364a; }
  .cal .calbody.other-month { background: #0e1723; }
  .cal .calbody.other-month p.day-num { color: #a6b8ce; }
  .cal .calbody.today { box-shadow: inset 0 0 0 2px #ffb484; }
  .syntaxhl .hll { background: #493b25; }
  .syntaxhl .gp { color: #ffb484; }

  /* expert Agile loads its light palette after the theme. Scope higher-specificity
     overrides to plugin components; preserve its layout, drag targets, status
     underline and card/lane accent borders. No plugin code or print overrides. */
  #content .ea-column-header,
  #content .ea-swimlane-title th,
  #content .ea-backlog-lane-header {
    background: var(--fx-raised); color: var(--fx-text);
    border-top-color: var(--fx-border); border-right-color: var(--fx-border);
  }
  #content .ea-column-header { border-left-color: var(--fx-border); }
  #content .ea-column-name, #content .ea-swimlane-name,
  #content .ea-backlog-lane-name { color: var(--fx-text); }
  #content .ea-cell, #content .ea-backlog-lane,
  #content .ea-backlog-empty {
    background: #101b29; color: var(--fx-text); border-color: var(--fx-border);
  }
  #content .ea-swimlane td { border-bottom-color: var(--fx-border); }
  #content .ea-card {
    background: #26384e; color: var(--fx-text);
    border-top-color: var(--fx-border); border-right-color: var(--fx-border);
    border-bottom-color: var(--fx-border); box-shadow: 0 2px 5px #0003;
  }
  #content .ea-card:hover {
    background: #30455e;
    border-top-color: var(--fx-control-border); border-right-color: var(--fx-control-border);
    border-bottom-color: var(--fx-control-border); box-shadow: 0 3px 8px #0005;
  }
  #content .ea-card-subject a { color: var(--fx-text); }
  #content .ea-card-subject a:hover { color: var(--fx-link); }
  #content .ea-card-header, #content .ea-card-id a,
  #content .ea-card-footer, #content .ea-card-fields dt,
  #content .ea-card-description, #content .ea-column-wip,
  #content .ea-backlog-lane-meta, #content .ea-backlog-empty-hint,
  #content .ea-options-row label, #content .ea-status-grid-head,
  #content .ea-status-name.ea-status-closed, #content .ea-hint,
  #content .ea-color-current-hex, #content .ea-sidebar-nav a.ea-sprint-closed {
    color: var(--fx-muted);
  }
  #content .ea-card-fields, #content .ea-card-description,
  #content .ea-options-panel h4, #content .ea-backlog-empty-hint {
    border-color: var(--fx-border);
  }
  #content .ea-options-panel h4 { color: var(--fx-text); }
  #content .ea-column-count, #content .ea-swimlane-count,
  #content .ea-lane-count, #content .ea-card-tracker,
  #content .ea-card-hours, #content .ea-card-status,
  #content .ea-backlog-status, #content .ea-color-current {
    background: #344b65; color: var(--fx-text); border-color: var(--fx-control-border);
  }
  #content .ea-card-story-points, #content .ea-swimlane-points,
  #content .ea-lane-points {
    background: #264d6c; color: #e4f3ff; border-color: #8aafcc;
  }
  #content .ea-card-done, #content .ea-backlog-status.ea-sprint-active {
    background: #294c40; color: #d9f6e7;
  }
  #content .ea-backlog-status.ea-sprint-closed { background: #26384e; color: var(--fx-muted); }
  #content .ea-column-header.ea-wip-over,
  #content .ea-column-header.ea-wip-over .ea-column-count {
    background: #57313e; color: #ffdee4; border-color: #d59aa9;
  }
  #content .ea-column-header.ea-wip-over .ea-column-name,
  #content .ea-column-header.ea-wip-over .ea-column-wip { color: #ffdee4; }
  #content .ea-column-header.ea-wip-under { background: #51412a; color: #ffe9bf; border-color: #c0a16c; }
  #content .ea-column-header.ea-wip-under .ea-column-name,
  #content .ea-column-header.ea-wip-under .ea-column-wip { color: #ffe9bf; }
  #content .ea-cell.ea-cell-hover {
    background: #493727; box-shadow: inset 0 0 0 2px var(--fx-focus);
  }
  /* Agile 0.6 workflow feedback must survive the dark surface overrides. */
  #content .ea-drag-active .ea-cell.ea-drop-allowed {
    background: #203e31; box-shadow: inset 0 0 0 2px #8cc896;
  }
  #content .ea-drag-active .ea-cell.ea-drop-allowed.ea-cell-hover {
    background: #2b503b; box-shadow: inset 0 0 0 3px #8cc896;
  }
  #content .ea-drag-active .ea-cell.ea-drop-origin {
    background: #26364a; box-shadow: inset 0 0 0 2px #9aa3ad;
  }
  #content .ea-drag-active .ea-cell.ea-drop-blocked,
  #content .ea-drag-active .ea-column-header.ea-drop-blocked {
    background-image: repeating-linear-gradient(135deg, #d59aa92e 0 8px, transparent 8px 16px);
  }
  #content .ea-drag-active .ea-cell.ea-drop-blocked { background-color: #392b34; }
  #content .ea-backlog-switch, #content .ea-backlog-switch a { border-color: var(--fx-border); }
  #content .ea-backlog-switch a { background: var(--fx-surface); color: var(--fx-link); }
  #content .ea-backlog-switch a:hover { background: var(--fx-raised); }
  #content .ea-backlog-switch a.selected { background: #493727; color: #ffe0c9; }
  #content .ea-color-option input:checked + .ea-color-swatch {
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--fx-focus);
  }
  #content .ea-color-option input:focus-visible + .ea-color-swatch { outline-color: var(--fx-focus); }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  }
}
