/* Import Redmine base styles — theme overrides follow below */
@import url("/assets/application-6dc0ec44.css");

/*
 * Shipmates Dark — A custom Redmine 6.x theme
 * Inspired by the Shipmates Development brand palette
 *
 * Palette:
 *   --sm-cyan:       #56C1E8   (logo bird / primary accent)
 *   --sm-cyan-dim:   #3A8DB5   (hover / secondary)
 *   --sm-cyan-glow:  rgba(86,193,232,0.15)
 *   --sm-bg-deep:    #0B0E14   (deepest background)
 *   --sm-bg:         #0F1319   (main surface)
 *   --sm-bg-raised:  #161B24   (cards / panels)
 *   --sm-bg-input:   #1C222D   (form fields)
 *   --sm-border:     #252D3A   (borders / dividers)
 *   --sm-text:       #D4DAE3   (primary text)
 *   --sm-text-dim:   #8892A0   (secondary text)
 *   --sm-white:      #EFF2F5   (headings)
 *   --sm-danger:     #E85D6C   (delete / error)
 *   --sm-success:    #4ADE80   (success states)
 *   --sm-warning:    #FBBF24   (warnings)
 */

:root {
  --sm-cyan:       #72CCED;
  --sm-cyan-dim:   #3A8DB5;
  --sm-cyan-glow:  rgba(86, 193, 232, 0.12);
  --sm-bg-deep:    #0B0E14;
  --sm-bg:         #0F1319;
  --sm-bg-raised:  #161B24;
  --sm-bg-input:   #1C222D;
  --sm-border:     #252D3A;
  --sm-text:       #D4DAE3;
  --sm-text-dim:   #8892A0;
  --sm-white:      #EFF2F5;
  --sm-danger:     #E85D6C;
  --sm-success:    #4ADE80;
  --sm-warning:    #FBBF24;

  /* Override Redmine 6 font variable */
  --fonts-main:    "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ── Base ─────────────────────────────────────────────────────────── */

body {
  background: var(--sm-bg-deep);
  color: var(--sm-text);
  font-family: var(--fonts-main);
}

a, a:link, a:visited { color: var(--sm-cyan); }
a:hover { color: var(--sm-white); }

hr {
  border: 0;
  border-top: 1px solid var(--sm-border);
}

/* ── SVG Icon System (Redmine 6) ─────────────────────────────────── */

svg.icon-svg {
  stroke: var(--sm-text-dim);
  fill: none;
}

a .icon-svg,
a.icon .icon-svg {
  stroke: var(--sm-cyan);
}

a:hover .icon-svg,
a.icon:hover .icon-svg {
  stroke: var(--sm-white);
}

.icon-label {
  color: inherit;
}

/* Danger icons */
a.icon-del .icon-svg,
a.delete .icon-svg {
  stroke: var(--sm-danger);
}

/* ── Top Menu ─────────────────────────────────────────────────────── */

#top-menu {
  background: var(--sm-bg);
  border-bottom: 1px solid var(--sm-border);
  color: var(--sm-text-dim);
}

#top-menu a { color: var(--sm-text-dim); }
#top-menu a:hover { color: var(--sm-cyan); }
#top-menu a:hover .icon-svg { stroke: var(--sm-cyan); }
#top-menu #loggedas { color: var(--sm-text-dim); }
#top-menu .icon-svg { stroke: var(--sm-text-dim); }

/* ── Header / Logo ────────────────────────────────────────────────── */

#header {
  background: linear-gradient(135deg, #0B0E14 0%, #111821 50%, #0B0E14 100%);
  border-bottom: 2px solid var(--sm-cyan);
  padding: 10px 20px;
}

#header h1 {
  background: url("/assets/themes/shipmates-dark/logo-033a5acb.png") no-repeat left center;
  background-size: contain;
  padding-left: 260px;
  height: 50px;
  line-height: 50px;
  color: var(--sm-white);
  font-size: 0;  /* hide text, show logo */
}

#header a { color: var(--sm-white); }

/* Quick search in header */
#header #quick-search input[type="text"] {
  background: var(--sm-bg-input);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
}

/* ── Main Menu (tabs) ─────────────────────────────────────────────── */

#main-menu {
  background: var(--sm-bg);
  border-bottom: 1px solid var(--sm-border);
}

#main-menu li a {
  color: var(--sm-text-dim);
  background: transparent;
  border: none;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 4px 4px 0 0;
}

#main-menu li a:hover {
  color: var(--sm-white);
  background: var(--sm-bg-raised);
}

#main-menu li a.selected {
  color: var(--sm-cyan);
  background: var(--sm-bg-raised);
  border-bottom: 2px solid var(--sm-cyan);
}

#main-menu li a .icon-svg {
  stroke: var(--sm-text-dim);
}

#main-menu li a:hover .icon-svg {
  stroke: var(--sm-white);
}

#main-menu li a.selected .icon-svg {
  stroke: var(--sm-cyan);
}

/* ── Wrapper / Content ────────────────────────────────────────────── */

#wrapper { background: var(--sm-bg-deep); }

#main { background: var(--sm-bg-deep); }

#content {
  background: var(--sm-bg);
  border: 1px solid var(--sm-border);
  border-radius: 6px;
  padding: 20px;
}

/* ── Sidebar (Redmine 6 collapsible) ─────────────────────────────── */

#sidebar {
  background: var(--sm-bg);
  border: 1px solid var(--sm-border);
  border-radius: 6px;
  padding: 14px;
  color: var(--sm-text-dim);
}

#sidebar h3 {
  color: var(--sm-cyan);
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--sm-border);
  padding-bottom: 6px;
  margin-bottom: 8px;
}

#sidebar a { color: var(--sm-cyan); }
#sidebar a:hover { color: var(--sm-white); }

/* Sidebar toggle button (Redmine 6) */
#sidebar-switch-panel {
  background: var(--sm-bg);
}

#sidebar-switch-button {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  color: var(--sm-text-dim);
  border-radius: 4px;
  cursor: pointer;
}

#sidebar-switch-button:hover {
  color: var(--sm-cyan);
  border-color: var(--sm-cyan);
}

#sidebar-switch-button .icon-svg {
  stroke: var(--sm-text-dim);
}

#sidebar-switch-button:hover .icon-svg {
  stroke: var(--sm-cyan);
}

/* ── Headings ─────────────────────────────────────────────────────── */

h1, h2, h3, h4 { color: var(--sm-white); }
h2 { border-bottom: 1px solid var(--sm-border); padding-bottom: 6px; }

div.wiki h1, div.wiki h2, div.wiki h3 { color: var(--sm-white); }

/* ── Tables ───────────────────────────────────────────────────────── */

table.list {
  border: 1px solid var(--sm-border);
  border-radius: 4px;
  overflow: hidden;
}

table.list thead th {
  background: var(--sm-bg-raised);
  color: var(--sm-text-dim);
  border-bottom: 2px solid var(--sm-border);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 0.04em;
}

table.list tbody td {
  border-top: 1px solid var(--sm-border);
  color: var(--sm-text);
}

table.list tbody tr:hover td {
  background: var(--sm-cyan-glow);
}

/* Redmine 6 swapped odd/even: odd=white, even=gray in default theme */
table.list tbody tr.odd td  { background: transparent; }
table.list tbody tr.even td { background: rgba(255,255,255,0.015); }
table.list tbody tr.odd:hover td,
table.list tbody tr.even:hover td { background: var(--sm-cyan-glow); }

/* ── Issue Priorities ─────────────────────────────────────────────── */

tr.priority-highest td,
table.list tr.priority-highest td   { color: var(--sm-danger); }
tr.priority-high td,
table.list tr.priority-high td      { color: #F09C5A; }

/* Closed / resolved */
tr.issue.closed td,
tr.issue.closed a { color: var(--sm-text-dim); text-decoration: line-through; }

/* ── Primary Action Buttons ───────────────────────────────────────── */

input[type="submit"],
input[type="button"],
a.button {
  background: var(--sm-cyan);
  color: #0B0E14;
  border: none;
  border-radius: 4px;
  padding: 6px 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, box-shadow 0.15s;
}

input[type="submit"]:hover,
input[type="button"]:hover,
a.button:hover {
  background: var(--sm-cyan-dim);
  box-shadow: 0 0 12px var(--sm-cyan-glow);
}

input[type="submit"] .icon-svg,
a.button .icon-svg {
  stroke: #0B0E14;
}

/* ── Generic Buttons (toolbars, tabs, etc.) ──────────────────────── */

button {
  background: var(--sm-bg-raised);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
  border-radius: 4px;
  cursor: pointer;
}

button:hover {
  background: var(--sm-bg-input);
  color: var(--sm-white);
  border-color: var(--sm-cyan-dim);
}

button .icon-svg {
  stroke: var(--sm-text-dim);
}

button:hover .icon-svg {
  stroke: var(--sm-cyan);
}

/* Tab scroll buttons */
button.tab-left,
button.tab-right {
  background: var(--sm-bg-raised);
  border-color: var(--sm-border);
}

button.tab-left:hover,
button.tab-right:hover {
  background: var(--sm-bg-input);
}

button.tab-left svg.icon-svg,
button.tab-right svg.icon-svg {
  stroke: var(--sm-text-dim);
}

/* Danger buttons */
a.icon-del,
a.delete {
  color: var(--sm-danger) !important;
}

/* ── Wiki Preview ────────────────────────────────────────────────── */

.wiki-preview,
.jstBlock .wiki-preview,
.tabular .wiki-preview,
.tabular.settings .wiki-preview,
#content .wiki-preview {
  background: var(--sm-bg) !important;
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
  border-radius: 4px;
  padding: 10px;
}

/* Wiki editor toolbar tabs (Write / Preview) */
.jstTabs a {
  background: var(--sm-bg-raised);
  color: var(--sm-text-dim);
  border: 1px solid var(--sm-border);
}

.jstTabs a:hover {
  background: var(--sm-bg-input);
  color: var(--sm-white);
}

.jstTabs a.current,
.jstTabs a.current:hover {
  background: var(--sm-bg);
  color: var(--sm-cyan);
}

/* ── Form Inputs ──────────────────────────────────────────────────── */

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
  background: var(--sm-bg-input);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
  border-radius: 4px;
  padding: 6px 10px;
  min-height: 2.25em;
  transition: border-color 0.15s;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
  border-color: var(--sm-cyan);
  outline: none;
  box-shadow: 0 0 0 2px var(--sm-cyan-glow);
}

select option {
  background: var(--sm-bg-input);
  color: var(--sm-text);
}

/* ── Query Filters (Redmine 6 flexbox layout) ────────────────────── */

#filters-table {
  color: var(--sm-text);
}

#filters-table label {
  color: var(--sm-text-dim);
}

/* ── Flash Messages ───────────────────────────────────────────────── */

#flash_notice,
div.flash.notice {
  background: rgba(74, 222, 128, 0.1);
  border: 1px solid var(--sm-success);
  color: var(--sm-success);
  border-radius: 4px;
  padding: 10px 14px;
}

#flash_error,
div.flash.error {
  background: rgba(232, 93, 108, 0.1);
  border: 1px solid var(--sm-danger);
  color: var(--sm-danger);
  border-radius: 4px;
  padding: 10px 14px;
}

#flash_warning,
div.flash.warning {
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid var(--sm-warning);
  color: var(--sm-warning);
  border-radius: 4px;
  padding: 10px 14px;
}

/* ── Contextual Menus ─────────────────────────────────────────────── */

#context-menu {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}

#context-menu li a { color: var(--sm-text); }
#context-menu li a .icon-svg { stroke: var(--sm-text); }
#context-menu li a:hover {
  background: var(--sm-cyan);
  color: #0B0E14;
}
#context-menu li a:hover .icon-svg {
  stroke: #0B0E14;
}

/* ── Tooltips / Info Boxes ────────────────────────────────────────── */

div.tooltip { background: var(--sm-bg-raised); border: 1px solid var(--sm-border); color: var(--sm-text); }

fieldset {
  border: 1px solid var(--sm-border);
  border-radius: 4px;
  background: var(--sm-bg);
}

fieldset legend {
  color: var(--sm-cyan);
  font-weight: 600;
}

/* ── Pagination ───────────────────────────────────────────────────── */

p.pagination { color: var(--sm-text-dim); }
p.pagination a { color: var(--sm-cyan); }
p.pagination a:hover { color: var(--sm-white); }

span.current { background: var(--sm-cyan); color: #0B0E14; border-radius: 3px; padding: 2px 8px; font-weight: 600; }

/* ── My Page Blocks ───────────────────────────────────────────────── */

div.mypage-box {
  background: var(--sm-bg);
  border: 1px solid var(--sm-border);
  border-radius: 6px;
}

/* ── Calendar ─────────────────────────────────────────────────────── */

table.cal { border-color: var(--sm-border); }
table.cal thead th { background: var(--sm-bg-raised); color: var(--sm-text-dim); }
table.cal td { background: var(--sm-bg); border-color: var(--sm-border); }
table.cal td.today { background: var(--sm-cyan-glow); }

/* ── Gantt Chart ──────────────────────────────────────────────────── */

.gantt_hdr { background: var(--sm-bg-raised); color: var(--sm-text-dim); }

/* ── Progress Bars ────────────────────────────────────────────────── */

table.progress {
  background: var(--sm-bg-input);
  border-radius: 4px;
  overflow: hidden;
}

table.progress td.closed { background: var(--sm-cyan); }
table.progress td.done    { background: var(--sm-cyan-dim); }
table.progress td.open    { background: transparent; }

/* ── Issue Detail ─────────────────────────────────────────────────── */

div.issue div.subject h3 { color: var(--sm-white); }
div.issue .next-prev-links a { color: var(--sm-cyan); }

.attributes .attribute .label { color: var(--sm-text-dim); font-weight: 600; }
.attributes .attribute .value { color: var(--sm-text); }

div#issue-changesets { border-left: 2px solid var(--sm-border); }

/* Journals / history */
div.journal {
  border-bottom: 1px solid var(--sm-border);
}

div.journal h4 { color: var(--sm-text-dim); }
div.journal .wiki { color: var(--sm-text); }

/* ── Wiki ─────────────────────────────────────────────────────────── */

div.wiki { color: var(--sm-text); }
div.wiki code,
div.wiki pre {
  background: var(--sm-bg-input);
  border: 1px solid var(--sm-border);
  color: var(--sm-cyan);
  border-radius: 4px;
}

div.wiki blockquote {
  border-left: 3px solid var(--sm-cyan);
  background: var(--sm-bg-raised);
  padding: 8px 14px;
  color: var(--sm-text-dim);
}

/* ── Code / Pre ───────────────────────────────────────────────────── */

code, pre {
  background: var(--sm-bg-input);
  color: var(--sm-cyan);
  border: 1px solid var(--sm-border);
  border-radius: 4px;
}

/* ── Box ──────────────────────────────────────────────────────────── */

.box {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  border-radius: 6px;
  padding: 14px;
  color: var(--sm-text);
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* ── Nodata / Warning / Conflict ──────────────────────────────────── */

#errorExplanation,
div.flash,
.nodata,
.warning,
.conflict {
  background-color: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  color: var(--sm-text);
}

.nodata,
.warning {
  background-color: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.3);
  color: var(--sm-warning);
}

.nodata svg.icon-svg,
.warning svg.icon-svg {
  stroke: var(--sm-warning);
}

div.flash.warning,
.conflict {
  background: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.3);
  color: var(--sm-warning);
}

div.flash.warning:not(:has(svg)),
.conflict:not(:has(svg)) {
  background-image: none;
  background-color: rgba(251, 191, 36, 0.08);
}

div.flash.error,
#errorExplanation {
  background-color: rgba(232, 93, 108, 0.1);
  border-color: var(--sm-danger);
  color: var(--sm-danger);
}

div.flash.error svg.icon-svg,
#errorExplanation svg.icon-svg {
  stroke: var(--sm-danger);
}

/* ── Dropdowns / Project Jump ────────────────────────────────────── */

#project-jump .drdn-content {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}

#project-jump .drdn-items a {
  color: var(--sm-text);
}

#project-jump .drdn-items a:hover {
  background: var(--sm-cyan);
  color: #0B0E14;
}

#project-jump .quick-search input {
  background: var(--sm-bg-input);
  color: var(--sm-text);
  border: 1px solid var(--sm-border);
}

/* ── Menu Children (sub-menus) ───────────────────────────────────── */

#main-menu .menu-children {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
}

#main-menu .menu-children li a {
  color: var(--sm-text);
  background-color: var(--sm-bg-raised);
}

#main-menu .menu-children li a:hover {
  background-color: var(--sm-cyan);
  color: #0B0E14;
}

/* ── Modals ──────────────────────────────────────────────────────── */

div.modal {
  background: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  color: var(--sm-text);
}

/* ── Grouped Table Rows ──────────────────────────────────────────── */

tr.group td {
  background-color: var(--sm-bg-raised);
  border-bottom: 2px solid var(--sm-border);
  color: var(--sm-white);
}

/* nth-child rows (non-classed tables) */
table.list:not(.odd-even) tbody tr:nth-child(odd),
.odd,
#issue-changesets div.changeset:nth-child(odd) {
  background-color: transparent;
}

table.list:not(.odd-even) tbody tr:nth-child(even),
.even,
#issue-changesets div.changeset:nth-child(even) {
  background-color: rgba(255,255,255,0.015);
}

table.list:not(.odd-even) tbody tr:nth-child(odd):hover,
table.list:not(.odd-even) tbody tr:nth-child(even):hover,
.odd:hover,
.even:hover {
  background-color: var(--sm-cyan-glow);
}

/* ── Issue Changesets ────────────────────────────────────────────── */

div#issue-changesets {
  background: var(--sm-bg);
  border-left: 2px solid var(--sm-border);
}

/* ── Version Summary ─────────────────────────────────────────────── */

div#version-summary {
  background-color: var(--sm-bg);
}

/* ── Thumbnails ──────────────────────────────────────────────────── */

div.thumbnail {
  background: var(--sm-bg-raised);
  border-color: var(--sm-border);
}

/* ── Autocomplete / Tribute ──────────────────────────────────────── */

.tribute-container {
  background-color: var(--sm-bg-raised);
  border: 1px solid var(--sm-border);
  color: var(--sm-text);
}

.tribute-container li {
  background-color: var(--sm-bg-raised);
  color: var(--sm-text);
}

.tribute-container li.highlight {
  background-color: var(--sm-cyan);
  color: #0B0E14;
}

/* ── Content Tabs ────────────────────────────────────────────────── */

#content .tabs ul li a {
  background: var(--sm-bg-raised);
  color: var(--sm-text-dim);
  border: 1px solid var(--sm-border);
}

#content .tabs ul li a:hover {
  background: var(--sm-bg-input);
  color: var(--sm-white);
}

#content .tabs ul li a.selected,
#content .tabs ul li a.selected:hover {
  background: var(--sm-bg);
  color: var(--sm-cyan);
  border-bottom-color: var(--sm-bg);
}

/* ── Sidebar Selected Link ───────────────────────────────────────── */

#sidebar a.selected {
  background-color: var(--sm-cyan);
  color: #0B0E14;
}

#sidebar a.selected svg.icon-svg {
  stroke: #0B0E14 !important;
}

/* ── Multi-select ────────────────────────────────────────────────── */

select[multiple] {
  background: var(--sm-bg-input);
}

/* ── Sample Data Table ───────────────────────────────────────────── */

.sample-data {
  background-color: var(--sm-bg);
  border-color: var(--sm-border);
}

/* ── Gantt Hover ─────────────────────────────────────────────────── */

.gantt_subjects div.issue-subject:hover {
  background-color: var(--sm-cyan-glow);
}

/* ── Misc Overrides ───────────────────────────────────────────────── */

.tabular p { color: var(--sm-text); }
.tabular label { color: var(--sm-text-dim); }

img.gravatar { border-radius: 50%; }

/* ── Flyout Menu (mobile / hamburger) ────────────────────────────── */

.flyout-menu {
  background: var(--sm-bg);
  border: 1px solid var(--sm-border);
}

.flyout-menu a { color: var(--sm-text); }
.flyout-menu a:hover { color: var(--sm-cyan); }

/* ── Footer ───────────────────────────────────────────────────────── */

#footer {
  background: var(--sm-bg);
  border-top: 1px solid var(--sm-border);
  color: var(--sm-text-dim);
  font-size: 0.8em;
}

#footer a { color: var(--sm-text-dim); }
#footer a:hover { color: var(--sm-cyan); }

/* ── Scrollbar (Webkit) ───────────────────────────────────────────── */

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--sm-bg-deep); }
::-webkit-scrollbar-thumb { background: var(--sm-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--sm-cyan-dim); }

/* ── Selection ────────────────────────────────────────────────────── */

::selection { background: var(--sm-cyan); color: #0B0E14; }
