/* Modern: a clean, Jira-like theme for Redmine 7.
 * Only overrides colors, spacing and shapes on top of the default stylesheet,
 * so Redmine's own layout and behavior stay intact across 7.x updates. */

@import url("/assets/application-c183e617.css");

:root {
  --m-blue: #0c66e4;
  --m-blue-hover: #0055cc;
  --m-blue-subtle: #e9f2ff;
  --m-text: #172b4d;
  --m-text-subtle: #44546f;
  --m-text-subtlest: #626f86;
  --m-border: #dcdfe4;
  --m-surface: #ffffff;
  --m-surface-sunken: #f7f8f9;
  --m-hover: #f1f2f4;
  --m-green: #216e4e;
  --m-green-subtle: #dcfff1;
  --m-red: #ae2e24;
  --m-red-subtle: #ffeceb;
  --m-yellow: #7f5f01;
  --m-yellow-subtle: #fff7d6;
  --m-radius: 6px;
  --m-shadow: 0 1px 1px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31);

  --fonts-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, "Helvetica Neue", sans-serif;
  --color-current-marker: var(--m-blue);
  --color-top-menu-background: var(--m-surface);
  --color-header-background: var(--m-surface);
}

body { color: var(--m-text); background: var(--m-surface); }
#content h1, h2, h3, h4, h5, h6 { color: var(--m-text); }
h2 { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.01em; }

/***** Links *****/
a, a:link, a:visited { color: var(--m-blue); }
a:hover, a:active { color: var(--m-blue-hover); }
a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: var(--m-text-subtlest); }

:focus-visible { outline: 2px solid var(--m-blue); outline-offset: 2px; }

/***** Top bar *****/
nav.top-menu { color: var(--m-text-subtle); border-block-end: 1px solid var(--m-border); padding-block: 4px; }
.top-menu__links a, .top-menu__links a:link, .top-menu__links a:visited, #account .dropdown-trigger {
  color: var(--m-text-subtle);
  font-weight: 600;
  border-radius: 3px;
}
.top-menu__links a:hover, #account .dropdown-trigger:hover { color: var(--m-blue); background-color: var(--m-blue-subtle); }
.top-menu__links svg.icon-svg, #account .dropdown-trigger .icon-svg { stroke: var(--m-text-subtle); }
.top-menu__links a:hover svg.icon-svg, #account .dropdown-trigger:hover .icon-svg { stroke: var(--m-blue); }

/***** Project header *****/
#header { color: var(--m-text); }
#header a { color: var(--m-text); }
#header a:hover { color: var(--m-blue); }
#header h1 { font-weight: 600; }
#header h1 .breadcrumbs { color: var(--m-text-subtlest); letter-spacing: 0; }
#quick-search #q { inline-size: 200px; block-size: 32px; border: 2px solid var(--m-border); border-radius: var(--m-radius); background: var(--m-surface-sunken); }
#quick-search #q:focus { border-color: var(--m-blue); background: var(--m-surface); }
#quick-search label, #quick-search label a { color: var(--m-text-subtle); }

/***** Project menu: underline tabs *****/
#main-menu { background: var(--m-surface); border-block-end: 1px solid var(--m-border); }
#main-menu li a { color: var(--m-text-subtle); font-weight: 500; }
#main-menu li a:hover { background-color: transparent; color: var(--m-blue); }
#main-menu li a.selected, #main-menu li a.selected:hover {
  background-color: transparent;
  color: var(--m-blue);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--m-blue);
}
#main-menu li a.new-object, #main-menu li a.new-object:hover {
  background-color: var(--m-blue);
  border-color: var(--m-blue);
  color: #fff;
  font-weight: 600;
  border-radius: 3px;
}
#main-menu li a.new-object:hover { background-color: var(--m-blue-hover); }
#main-menu .menu-children { border: 1px solid var(--m-border); border-radius: var(--m-radius); box-shadow: var(--m-shadow); }
#main-menu .menu-children li a:hover { color: var(--m-text); background-color: var(--m-hover); }

/***** Sidebar and content *****/
#sidebar { background: var(--m-surface-sunken); border-inline-start: 1px solid var(--m-border); padding-block-start: 12px; }
#sidebar h3 { color: var(--m-text-subtlest); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
#sidebar-switch-button:hover { background-color: var(--m-hover); }
#content { padding-block: 24px 16px; padding-inline: 32px; }
#footer { color: var(--m-text-subtlest); border-block-start-color: var(--m-border); }

/***** Forms and buttons *****/
input, select, textarea, button { color: var(--m-text); border: 1px solid var(--m-border); border-radius: 3px; }
input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus,
input[type="number"]:focus, select:focus, textarea:focus {
  border-color: var(--m-blue);
  box-shadow: inset 0 0 0 1px var(--m-blue);
}
input[type="submit"], button[type="submit"] {
  block-size: 32px;
  padding-inline: 12px;
  background-color: var(--m-blue);
  border-color: var(--m-blue);
  color: #fff;
  font-weight: 600;
}
input[type="submit"]:hover, button[type="submit"]:hover { background-color: var(--m-blue-hover); }
fieldset { border-color: var(--m-border); border-radius: var(--m-radius); }

/***** Cards *****/
.box { background-color: var(--m-surface); color: var(--m-text); border: 1px solid var(--m-border); border-radius: var(--m-radius); padding: 16px; }
div.issue { background: var(--m-surface); border: 1px solid var(--m-border); border-radius: var(--m-radius); box-shadow: var(--m-shadow); padding: 24px; }
div.issue div.subject h3 { font-size: 1.25rem; font-weight: 600; }
div.issue .attributes .attribute .label { color: var(--m-text-subtle); font-weight: 600; }
div.modal { border-radius: var(--m-radius); box-shadow: 0 8px 12px rgba(9, 30, 66, 0.15), 0 0 1px rgba(9, 30, 66, 0.31); }

#login-form { background-color: var(--m-surface); border: 1px solid var(--m-border); border-radius: 8px; box-shadow: var(--m-shadow); padding: 32px; }

/***** Tables: flat rows with hover, like an issue navigator *****/
table.list, .table-list { border-block-start: 0; border-block-end: 1px solid var(--m-border); }
table.list th, .table-list-header {
  background-color: var(--m-surface);
  color: var(--m-text-subtle);
  font-size: 0.75rem;
  font-weight: 600;
  padding-block: 8px;
  border-block-end: 2px solid var(--m-border);
}
table.list td { padding-block: 8px; border-block-start: 1px solid var(--m-border); }
table.list:not(.odd-even) tbody tr:nth-child(odd), table.list:not(.odd-even) tbody tr:nth-child(even),
.odd, .even { background-color: var(--m-surface); }
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(--m-hover); }

/***** Tabs inside pages *****/
#content .tabs ul { border-block-end: 2px solid var(--m-border); }
#content .tabs ul li { margin-block-end: -2px; }
#content .tabs ul li a, #content .tabs ul li a.selected {
  border: 0;
  border-block-end: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--m-text-subtle);
  font-weight: 600;
  padding-inline: 8px;
}
#content .tabs ul li a:hover { color: var(--m-blue); }
#content .tabs ul li a.selected, #content .tabs ul li a.selected:hover { color: var(--m-blue); border-block-end-color: var(--m-blue); background: transparent; }

/***** Pagination *****/
.pagination ul.pages li { border-color: var(--m-border); }
.pagination ul.pages li.current { background-color: var(--m-blue); }
.pagination ul.pages li.page:hover { background-color: var(--m-hover); }

/***** Messages *****/
div.flash, #errorExplanation { border-radius: var(--m-radius); }
div.flash.notice { background-color: var(--m-green-subtle); border-color: var(--m-green-subtle); color: var(--m-green); }
div.flash.notice svg.icon-svg { stroke: var(--m-green); }
div.flash.error, #errorExplanation { background-color: var(--m-red-subtle); border-color: var(--m-red-subtle); color: var(--m-red); }
div.flash.error svg.icon-svg, #errorExplanation svg.icon-svg { stroke: var(--m-red); }
div.flash.warning, .conflict { background-color: var(--m-yellow-subtle); border-color: var(--m-yellow-subtle); color: var(--m-yellow); }
div.flash.warning svg.icon-svg, .conflict svg.icon-svg { stroke: var(--m-yellow); }

/***** History *****/
.journals h4.journal-header { background-color: var(--m-surface-sunken); border-radius: var(--m-radius); }
.journals div:target h4.journal-header { background-color: var(--m-blue-subtle); }

/***** Lozenges *****/
.badge { border-radius: 3px; border: 0; padding-inline: 6px; }
.badge-status-open { color: var(--m-blue-hover); background: var(--m-blue-subtle); border: 0; }
.badge-status-closed { color: var(--m-green); background: var(--m-green-subtle); border: 0; }
.badge-status-locked { color: var(--m-text-subtle); background: var(--m-hover); border: 0; }
.badge-count { background: var(--m-blue); }
