/* ==========================================================================
   Circle Theme version 3.0.9, Copyright (C) 2011 - 2026 Kirill Bezrukov www.redmineup.com
   ========================================================================== */

/* ==========================================================================
   1. IMPORTS & VARIABLES
   ========================================================================== */
@import url("/assets/application-839c155b.css");

:root {
  /* Основные цвета */
  --bg-header: #29333a;
  --bg-top-menu: #000;
  --bg-main-menu: #3d454c;
  --bg-main: #eeeeee;
  --bg-secondary: #f9fafb;
  --bg-button: #307ba7;
  --bg-button-hover: #3ba8de;

  /* Цвета текста и состояний */
  --color-link: #307ba7;
  --color-text: #3d454c;
  --color-muted: #9da2a6;
  --color-light: #ced4d9;
  --color-hover: #eef5fd;
  --color-active: #48a6e9;
  --color-active-blue: #307ba7;
  --color-tabs-active: #90a6e4;
  --color-notice: #5b9d2c;
  --color-error: #b73d32;
  --color-border: #dfe4e9;

  /* Границы и скругления */
  --border: 1px solid var(--color-border);
  --border-control: 1px solid #e0e2e3;
  --border-radius-panel: 6px;
  --border-radius-control: 4px;
  --border-radius-avatar: 6px;
  --border-radius-round: 40px;

  /* Шрифты */
  --fonts-main: 'Trebuchet MS', Verdana, sans-serif;
  --font-stack: 'helvetica neue', helvetica, arial, sans-serif;

  /* Hotcom специфичные переменные */
  --hc-text-color-green: #385;
  --hc-title-color: #444444;
  --hc-comment-background-color: #fafafa;
}

/* ==========================================================================
   2. BASE & TYPOGRAPHY
   ========================================================================== */
body {
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.3;
  font-family: var(--font-stack);
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

input,
textarea,
select {
  font-family: var(--font-stack);
  font-size: 12px;
  box-sizing: border-box;
}

a,
a:link,
a:visited,
details summary {
  color: var(--color-link);
  cursor: pointer;
}

hr {
  background: var(--color-border);
}

.flex {
  display: flex;
}

/* ==========================================================================
   3. LAYOUT (Header, Main, Sidebar, Footer)
   ========================================================================== */
#header {
  background: var(--bg-header);
  min-height: 5em;
  padding: 0;
}

#header > h1 {
  background: url("/assets/themes/circle_hotcom/logo-247db55d.svg") no-repeat 20px 50%;
  background-size: 40px 40px;
  font-family: var(--font-stack);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 1px;
  padding: 25px 10px 25px 70px;
  margin: 0;
}

#header > h1 .breadcrumbs {
  margin-top: -5px;
}

#main {
  background-color: var(--bg-main);
  padding-left: 20px;
}

#main.nosidebar {
  background-color: #fff;
  padding: 0 20px;
}

div#content {
  margin-left: -20px;
  padding-left: 25px;
  padding-top: 15px;
}

div#content .breadcrumb {
  margin: 4px 0 14px 0;
}

#sidebar {
  position: relative;
  padding-top: 15px;
  font-size: inherit;
  line-height: 1.3;
  border-left: 1px solid var(--color-border);
}

#sidebar p {
  margin-top: 5px;
}

#sidebar h3 {
  font-size: initial;
}

#sidebar a.selected {
  background-color: var(--bg-main);
  background-position: inherit;
  color: var(--color-text);
  padding: inherit;
  margin-left: inherit;
  line-height: 1.3em;
}

#sidebar a.selected svg.icon-svg {
  stroke: var(--bg-main-menu) !important;
}

#sidebar #admin-menu a.selected {
  line-height: 1.7em;
}

#sidebar-switch-panel {
  visibility: visible;
  position: absolute;
  top: 17px;
  width: 24px;
  height: 24px;
  background: #ffffff;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  left: 0;
  overflow: hidden;
  transform: translateX(-50%);
  border-radius: 9999px;
  border: 1px solid var(--color-border);
}

#sidebar-switch-button {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  width: 24px;
  height: 24px;
}

#sidebar-switch-button svg {
  width: 1.125rem;
  height: 1.125rem;
}

#sidebar ul,
#sidebar div.wiki ul {
  margin: 0;
  padding: 0;
}

#sidebar li > ul {
  padding-left: 25px;
}

#sidebar ul li,
#sidebar div.wiki ul li {
  list-style-type: none;
  margin: 0px 2px 5px 0px;
  padding: 0px 0px 0px 0px;
}

#sidebar ul li ul li {
  margin-top: 5px;
  margin-bottom: 0;
  list-style: circle;
}

#footer {
  margin-bottom: 12px;
  padding: 18px 25px 0;
  border-top: var(--border-control);
  color: var(--color-light);
}

#footer a,
#footer a:visited {
  color: var(--color-light);
}

#footer a:hover {
  color: var(--color-active-blue);
  text-decoration: none;
}

/* ==========================================================================
   4. NAVIGATION & MENUS
   ========================================================================== */
#top-menu {
  background: var(--bg-top-menu);
  padding: 7px 20px 2px 25px;
  font-size: 0.9em;
  height: 45px;
  line-height: 45px;
}

#top-menu a {
  margin-right: 15px;
  font-weight: normal;
  color: var(--color-muted);
}

#top-menu a:hover {
  color: #fff;
  text-decoration: none;
}

#top-menu ul {
  overflow: hidden;
}

#top-menu > ul > li {
  padding-bottom: 10px;
}

#top-menu ul li ul.menu-children {
  top: 25px;
}

#main-menu {
  background-color: var(--bg-main-menu);
  position: relative;
  left: 0;
  width: 100%;
  font-weight: 500;
  height: auto;
  box-sizing: border-box;
}

#main-menu ul {
  padding: 0 15px;
  width: 100%;
  white-space: nowrap;
}

#main-menu li {
  margin: 0;
  padding: 13px 0;
  float: none;
  display: inline-block;
}

#main-menu li > a {
  color: #8c8b8b;
  font-size: 100%;
  font-weight: bold;
}

#main-menu li a:hover,
#main-menu li a.selected,
#main-menu li a.selected:hover {
  background: none;
  color: #fff;
}

#main-menu li a.new-object {
  background-color: var(--bg-main-menu);
}

#main-menu .menu-button {
  position: absolute;
  right: 10px;
  top: 16px;
  text-indent: 66em;
  overflow: hidden;
  cursor: pointer;
  width: 24px;
  height: 16px;
  background: url("/assets/themes/circle_hotcom/menu_button-bc5a7c66.png") no-repeat;
  background-size: 16px 16px;
}

#main-menu .menu-button:hover {
  background: url("/assets/themes/circle_hotcom/menu_button_hover-345f5690.png") no-repeat;
  background-size: 16px 16px;
}

#main-menu .menu-children {
  border: 0;
  margin-top: 13px;
  left: 0;
}

#main-menu .menu-children,
#main-menu .menu-children li {
  padding: 0;
}

#main-menu .menu-children li a {
  padding: 10px 25px;
  background: var(--bg-main-menu);
  color: var(--color-muted);
  font-weight: bold;
}

#main-menu .menu-children li a:hover {
  color: #fff;
  background: var(--bg-main-menu);
}

#main-menu div.tabs-buttons {
  position: absolute;
  right: 0;
  width: 60px;
  height: 50px;
  background: var(--bg-main-menu);
  bottom: 0;
  border: 0;
}

#main-menu button.tab-left,
#main-menu button.tab-right {
  cursor: pointer;
  height: 100%;
  border: 0;
  position: absolute;
  padding: 4px;
  width: 25px;
  bottom: 0;
  border-radius: 0;
  background: var(--bg-main-menu);
  color: var(--color-muted);
  font-weight: bold;
}

#main-menu button.tab-left:hover,
#main-menu button.tab-right:hover {
  background-color: var(--bg-main-menu);
  color: #fff;
}

#main-menu button.tab-left:focus,
#main-menu button.tab-right:focus {
  outline: 0;
}

#main-menu button.tab-left.disabled,
#main-menu button.tab-right.disabled {
  background-color: var(--bg-main-menu);
  cursor: unset;
  color: var(--bg-main-menu);
}

#main-menu button.tab-left.disabled svg.icon-svg,
#main-menu button.tab-right.disabled svg.icon-svg {
  stroke: transparent;
}

#main-menu button.tab-left {
  right: 25px;
}

#main-menu button.tab-left:not(:has(svg))::before {
  content: '◀';
  background: none;
}

#main-menu button.tab-right:not(:has(svg))::before {
  right: 0;
  content: '▶';
  background: none;
}

#project-jump .drdn-trigger {
  border-radius: var(--border-radius-control);
}

.drdn-content {
  border: var(--border-control);
  border-radius: var(--border-radius-control);
}

div + .drdn-items {
  border-top: var(--border-control);
}

.drdn-items > strong {
  padding-left: 0;
}

#quick-search {
  margin: 20px 10px;
}

#quick-search #q {
  border-radius: var(--border-radius-control);
}

#quick-search select {
  max-width: 300px;
}

#quick-search .drdn-trigger {
  padding-top: 4px;
  font-size: 12px;
}

#quick-search #project-jump .drdn-items > a:hover {
  background-color: var(--color-hover);
  color: var(--color-text) !important;
}

/* ==========================================================================
   5. FORMS & CONTROLS (Inputs, Selects, Buttons)
   ========================================================================== */
input[type='text']:not(.icon),
input[type='date'],
input[type='password'],
input[type='search'],
input[type='number'],
fieldset#filters td.values input {
  padding: 1px 10px;
  background-color: #fff;
  color: var(--color-text);
  border-radius: var(--border-radius-control);
  height: 26px;
  border: var(--border-control);
  margin: 0;
}

fieldset#filters td.values input {
  height: 25px !important;
}

input[type='text']:focus,
input[type='date']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
select:focus,
textarea:focus,
fieldset#filters td.values input:focus {
  border-color: var(--color-active);
  outline: none;
}

input[type='text'].live_search_field {
  border-radius: var(--border-radius-round);
  height: 28px;
  outline: none;
}

select {
  appearance: none;
  z-index: 1;
  padding: 4px 30px 4px 10px;
  background: url("/assets/themes/circle_hotcom/select-5ed79417.png") no-repeat right #fff;
  background-size: 18px 16px;
  background-color: #fff;
  color: var(--color-text);
  cursor: pointer;
  border: var(--border-control);
  border-radius: var(--border-radius-control);
  height: 26px;
  text-indent: 0.01px;
  text-overflow: '';
}

select[multiple='multiple'] {
  height: auto;
  background: #fff;
  padding: 5px 10px;
}

select::-ms-expand {
  display: none;
}

@-moz-document url-prefix() {
  select {
    padding: 4px 20px 4px 5px;
  }
}

textarea {
  background-color: #fff;
  color: var(--color-text);
  border-radius: var(--border-radius-control);
  border: var(--border-control);
}

.check_box_group {
  padding: 3px 6px;
  border: var(--border);
}

input.hasDatepicker {
  padding-right: 20px;
}

img.ui-datepicker-trigger {
  position: relative;
  margin-left: -21px;
  margin-right: 10px;
}

/* Buttons */
#ajax-modal p.buttons input,
.ui-datepicker .ui-datepicker-buttonpane button,
.details input[type='submit'],
input[type='button'],
input[type='submit'],
input[type='submit'][name='continue'],
input[type='submit'].small,
input[type='submit'].button-small {
  color: var(--color-muted);
  height: 32px;
  padding: 0 14px;
  line-height: 30px;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
  background: var(--bg-secondary);
  border: var(--border-control);
  border-radius: var(--border-radius-panel);
  transition:
    background-color 0.2s ease-in-out,
    color 0.2s ease-in-out,
    opacity 0.2s ease-in-out;
  cursor: pointer;
  appearance: none;
}

#ajax-modal p.buttons input[type='submit'],
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close,
input[type='submit'] {
  background: var(--bg-button);
  border-color: transparent;
  color: #fff;
}

#ajax-modal p.buttons input[type='submit']:hover,
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-close:hover,
input[type='submit']:hover {
  background: var(--bg-button-hover);
  color: #fff;
}

#ajax-modal p.buttons input:hover,
.ui-datepicker .ui-datepicker-buttonpane button.ui-state-hover,
input[type='submit'][name='continue']:hover,
input[type='button']:hover,
.details input[type='submit']:hover,
input[type='submit'].small:hover,
input[type='submit'].button-small:hover {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.08) 0 1px 1px;
  color: var(--color-text);
  transition-duration: 0.05s;
}

input[type='submit'].button-small,
input[type='button'].small,
.details input[type='submit'],
.ui-datepicker .ui-datepicker-buttonpane button,
.query-columns td.buttons input[type='button'],
input[type='submit'].small {
  height: 26px;
  padding: 0 13px;
  line-height: 23px;
  font-size: 12px;
}

/* Login Form */
#login-form table {
  border: 0;
  padding: 30px;
}

#login-form input[type='submit'] {
  height: 32px;
}

#login-form input[type='text'],
#login-form input[type='password'] {
  padding: 1px 10px;
  height: 26px;
}

#login-form input#login-submit {
  padding: 0;
}

/* Specific Inputs */
input#issue_subject,
input#content_comments {
  width: 97%;
}

.contact-issues input#issue_subject {
  width: 93%;
}

/* ==========================================================================
   6. TABLES & LISTS
   ========================================================================== */
table.list,
.table-list {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--border-radius-panel);
  font-size: inherit;
  border: var(--border);
}

table.list thead th,
.table-list thead th {
  border-bottom: none;
  padding: 10px 16px;
  text-align: left;
}

table.list thead th a,
.table-list thead th a {
  color: var(--color-text);
}

table.list tbody td,
table.list tbody tr:hover td,
.table-list tbody td,
.table-list tbody tr:hover td {
  border-top: var(--border);
}

table.list tr:has(+ tr.total) td,
.table-list tr:has(+ tr.total) td {
  border-bottom: var(--border);
}

table.list tr.total th,
.table-list tr.total th {
  border-bottom: none;
}

table.list td,
.table-list td {
  padding: 12px 16px;
  text-align: left;
}

table.list td.checkbox {
  padding: 12px 0 12px 16px;
}

table.list td.icon,
.table-list td.icon {
  padding-left: 20px;
}

table.list input[type='checkbox'],
.table-list input[type='checkbox'] {
  vertical-align: baseline;
}

table.list tr.group td,
.table-list tr.group td {
  border-bottom-width: 1px;
}

table.list tbody tr:hover,
.table-list tbody tr:hover {
  background-color: var(--color-hover);
}

tr.issue.created-by-me td.author,
tr.issue.assigned-to-me td.assigned_to {
  font-weight: normal;
}

tr.issue td.subject {
  min-width: 240px;
  max-width: 500px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

table.list tr.issue a,
.table-list tr.issue a {
  color: var(--color-text);
}

table.index td.avatar {
  border-radius: 0;
  display: table-cell;
}

table.list.files tbody th {
  border-top: var(--border);
  border-bottom: none;
  background-color: #fff;
}

/* Priority Colors */
tr.odd.priority-highest,
table.list tbody tr.odd.priority-highest:hover {
  color: #900;
  font-weight: bold;
  background: #ffc4c4;
}

tr.even.priority-highest,
table.list tbody tr.even.priority-highest:hover {
  color: #900;
  font-weight: bold;
  background: #ffd4d4;
}

tr.priority-highest a,
tr.priority-5:hover a {
  color: #900;
}

tr.odd.priority-highest td,
tr.even.priority-highest td {
  border-color: #fdc9c9;
}

tr.odd.priority-high2,
table.list tbody tr.odd.priority-high4:hover {
  color: #900;
  background: #ffc4c4;
}

tr.even.priority-high2,
table.list tbody tr.even.priority-high4:hover {
  color: #900;
  background: #ffd4d4;
}

tr.priority-high2 a {
  color: #900;
}

tr.odd.priority-high2 td,
tr.even.priority-high4 td {
  border-color: #fdc9c9;
}

tr.odd.priority-high3,
table.list tbody tr.odd.priority-high3:hover {
  color: #900;
  background: #fee;
}

tr.even.priority-high3,
table.list tbody tr.even.priority-high3:hover {
  color: #900;
  background: #fff2f2;
}

tr.priority-high3 a {
  color: #900;
}

tr.odd.priority-high3 td,
tr.even.priority-high3 td {
  border-color: #fcc;
}

tr.odd.priority-lowest,
table.list tbody tr.odd.priority-lowest:hover {
  color: #559;
  background: #eaf7ff;
}

tr.even.priority-lowest,
table.list tbody tr.even.priority-lowest:hover {
  color: #559;
  background: #f2faff;
}

tr.priority-lowest a {
  color: #559;
}

tr.odd.priority-lowest td,
tr.even.priority-lowest td {
  border-color: #d2eafa;
}

/* ==========================================================================
   7. COMPONENTS (Boxes, Tabs, Modals, Flash, Tooltips, Context Menus)
   ========================================================================== */
.box {
  padding: 15px;
  background: var(--bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-panel);
}

/* Tabs */
#content .tabs ul {
  border-bottom: var(--border-control);
  padding: 0;
}

#content .tabs ul li a {
  border: none;
  background-color: transparent;
  font-size: inherit;
  border-bottom: 2px solid transparent;
}

#content .tabs ul li a.selected {
  border: none;
  border-bottom: 2px solid var(--color-tabs-active);
  box-shadow: none;
}

#content .tabs .tabs-buttons {
  background: #fff;
  border: 0;
  height: 28px;
  width: 50px;
  border-bottom: 1px solid #ececec;
}

#content .tabs .tabs-buttons button.tab-left,
#content .tabs .tabs-buttons button.tab-right {
  cursor: pointer;
  height: 100%;
  border: none;
  border-radius: 0;
}

#content .tabs .tabs-buttons button.tab-left.disabled,
#content .tabs .tabs-buttons button.tab-right.disabled {
  border: none;
}

#content .box .tabs ul li a.selected {
  background-color: var(--bg-secondary);
}

button.tab-left.disabled,
button.tab-right.disabled {
  background-color: transparent;
  cursor: unset;
}

/* Flash Messages & Errors */
#errorExplanation,
div.flash,
.nodata,
.warning,
.conflict {
  border: 0;
  font-weight: bold;
  padding-top: 18px;
  padding-bottom: 18px;
  border-radius: var(--border-radius-panel);
}

#errorExplanation:has(svg),
div.flash:has(svg),
.nodata:has(svg),
.warning:has(svg),
.conflict:has(svg) {
  padding-left: 45px;
}

div.flash.notice,
#flash_notice {
  background: var(--color-notice);
  color: #fff;
}

div.flash.error,
#errorExplanation {
  background: var(--color-error);
  color: #fff;
}

div.flash.warning,
.conflict {
  background-image: none;
}

#errorExplanation ul {
  font-size: 14px;
}

#content div.flash svg.icon-svg,
#content #errorExplanation svg.icon-svg {
  stroke: #fff;
}

/* Context Menus & Tooltips */
div#content .context-menu-selection {
  background-color: var(--color-active-blue) !important;
}

div#content #context-menu ul {
  border-radius: var(--border-radius-control);
  border: var(--border-control);
  padding: 0;
}

div#content #context-menu li:first-child {
  border-top-left-radius: var(--border-radius-control);
  border-top-right-radius: var(--border-radius-control);
}

div#content #context-menu li:last-child {
  border-bottom-left-radius: var(--border-radius-control);
  border-bottom-right-radius: var(--border-radius-control);
}

div#content #context-menu li a {
  color: var(--color-text);
}

div#content #context-menu li:hover {
  background: var(--color-hover);
  color: var(--color-text);
  border: 1px solid #f2f4f5;
}

div#content #context-menu a.disabled,
div#content #context-menu a.disabled:hover {
  color: #aaa;
}

.contextual {
  position: relative;
  z-index: 10;
}

.contextual .drdn-items,
.journal-actions .drdn-items {
  padding: 0;
}

.contextual .drdn-items > a {
  color: var(--color-text);
  padding-top: 2px;
  padding-bottom: 2px;
}

.contextual .drdn-items > a:first-child {
  border-top-left-radius: var(--border-radius-control);
  border-top-right-radius: var(--border-radius-control);
}

.contextual .drdn-items > a:last-child {
  border-bottom-left-radius: var(--border-radius-control);
  border-bottom-right-radius: var(--border-radius-control);
}

.contextual .drdn-items > a:hover {
  background-color: var(--color-hover);
  color: var(--color-text);
  border: 1px solid #f2f4f5;
}

div.tooltip:hover span.tip {
  border: var(--border);
  border-radius: var(--border-radius-control);
}

/* Modals */
div.modal {
  padding: 10px;
}

.ui-dialog.modal .ui-widget-header {
  border: 0;
  background: var(--bg-secondary);
  padding: 18px;
  color: var(--color-text);
  text-align: center;
  border-bottom: var(--border-control);
  margin: -10px -10px 5px -10px;
  border-radius: 0;
}

.ui-dialog.modal .ui-widget-header .ui-dialog-title {
  font-size: 1.25rem;
  font-weight: bold;
}

.ui-dialog .ui-dialog-titlebar-close {
  right: 1em;
  background: var(--bg-secondary);
  border: 0;
}

/* ==========================================================================
   8. REDMINE SPECIFIC (Issues, Gantt, Activity, Avatars, Tags, Calendar)
   ========================================================================== */
div.issue {
  background: #fffff1;
}

div.issue,
div.person,
div.contact,
div.deal {
  border: var(--border);
  border-radius: var(--border-radius-panel);
  padding: 10px !important;
}

div.details {
  padding: 20px !important;
}

#history,
#history .tab-content {
  border: 0;
}

div#activity dt {
  align-items: center;
}

div#roadmap .related-issues td.assigned_to {
  padding: 0 3px;
}

table.progress td {
  padding: 0;
}

table.progress {
  border-radius: var(--border-radius-control);
  overflow: hidden;
}

.gantt_subjects_container .gantt_hdr:nth-of-type(2) {
  border-top-left-radius: var(--border-radius-panel);
  border-bottom-left-radius: var(--border-radius-panel);
}

.gantt_subjects_container .gantt_hdr {
  border-top-left-radius: var(--border-radius-panel);
}

.gantt_subjects div {
  height: 20px;
}

.issue-subject .gravatar {
  margin-right: 2px;
}

img.gravatar {
  padding: 2px;
  border: var(--border);
  background: #fff;
  vertical-align: middle;
  border-radius: var(--border-radius-avatar);
}

div.avatar-with-child > .avatar:nth-child(2),
div.gravatar-with-child > img.gravatar:nth-child(2) {
  border: var(--border);
  border-radius: var(--border-radius-avatar);
  top: 35px;
  left: 35px;
}

/* Calendar */
#wrapper ul.cal {
  border: var(--border);
  border-radius: var(--border-radius-panel);
}

#wrapper ul.cal > li:first-child {
  border-top-left-radius: var(--border-radius-panel);
}

#wrapper ul.cal > li:nth-child(8) {
  border-top-right-radius: var(--border-radius-panel);
}

#wrapper ul.cal > li:nth-last-child(8) {
  border-bottom-left-radius: var(--border-radius-panel);
}

#wrapper ul.cal > li:last-child {
  border-bottom-right-radius: var(--border-radius-panel);
}

#wrapper table.excerpt.index {
  border-radius: var(--border-radius-panel);
  border-color: var(--color-border);
}

#wrapper table.excerpt.index tr:first-child td:first-child {
  border-top-left-radius: var(--border-radius-panel);
}

#wrapper table.excerpt.index tr:first-child td:last-child {
  border-top-right-radius: var(--border-radius-panel);
}

#wrapper table.excerpt.index tr:last-child td:first-child {
  border-bottom-left-radius: var(--border-radius-panel);
}

#wrapper table.excerpt.index tr:last-child td:last-child {
  border-bottom-right-radius: var(--border-radius-panel);
}

#wrapper table.excerpt.index td {
  border-color: var(--color-border);
}

/* Tags */
span.tag-label-color {
  border: 0 !important;
  padding: 4px 8px !important;
  border-radius: 20px !important;
  line-height: 13px;
}

span.tag-label-color:hover {
  opacity: 0.7;
}

.tagit-new .ui-autocomplete-input {
  box-shadow: none;
}

.tagit-close .text-icon {
  top: -3px;
  position: relative;
}

div#content ul.tagit li {
  margin: 2px 5px 1px 0;
}

div#content .contacts-tags-edit ul.tagit {
  border-radius: var(--border-radius-control);
  border: var(--border);
}

/* ==========================================================================
   9. THIRD-PARTY LIBRARIES (jQuery UI, Select2, Datepicker, ColorPicker)
   ========================================================================== */
/* jQuery UI Base */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: var(--font-stack);
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea {
  font-size: 12px;
}

.ui-widget-overlay {
  background: #000;
  opacity: 0.6;
}

.ui-widget-content select,
.ui-widget-content input[type='text'],
.ui-datepicker .ui-datepicker-title select {
  font-size: 12px;
}

.ui-widget-header .ui-icon.ui-icon-closethick {
  background: url("/assets/themes/circle_hotcom/close-40ad5cbb.png") no-repeat 0 0;
}

.ui-widget-header .ui-state-hover .ui-icon.ui-icon-closethick {
  background: url("/assets/themes/circle_hotcom/close_active-01bf3836.png");
}

.ui-widget-header .ui-datepicker-title {
  color: var(--color-text);
}

.ui-widget-header .ui-icon-circle-triangle-e {
  background: url("/assets/themes/circle_hotcom/next-54188cb6.png") no-repeat 0 0;
}

.ui-widget-header .ui-icon-circle-triangle-w {
  background: url("/assets/themes/circle_hotcom/prev-50faf97c.png") no-repeat 0 0;
}

/* jQuery UI Menu & Autocomplete */
.ui-menu.ui-widget-content {
  border-radius: var(--border-radius-control);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  overflow: hidden;
  border: var(--border-control);
}

.ui-autocomplete,
.ui-menu {
  border-radius: var(--border-radius-control);
  border: var(--border-control);
}

.ui-menu .ui-menu-item:hover {
  font-weight: normal;
  background: var(--color-hover);
  color: inherit !important;
}

.ui-menu .ui-menu-item.ui-state-focus {
  color: inherit;
  border-left-color: #ddd;
  border-right-color: #ddd;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  background: #f2f4f5;
  color: var(--color-text);
  border: 1px solid #f2f4f5;
  border-radius: 0;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #f2f4f5;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  background: #ffd5c9;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  background: var(--color-hover);
  border-color: var(--color-hover);
  color: inherit;
}

/* jQuery UI Datepicker */
.ui-datepicker.ui-widget-content {
  background: #fff;
}

.ui-datepicker .ui-widget-header {
  background: #fff;
  border: 0;
  border-bottom: var(--border-control);
  border-radius: 0;
  padding: 5px;
  margin: -1px;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  font-weight: normal;
}

.ui-datepicker .ui-datepicker-next {
  top: 5px;
  right: 10px;
}

.ui-datepicker .ui-datepicker-prev {
  top: 5px;
  left: 10px;
}

.ui-datepicker th {
  color: #aaa;
  font-weight: 500;
}

.ui-datepicker .ui-state-default {
  font-weight: 500;
  color: #333;
  border: 1px solid #fff;
  background: #fff;
}

.ui-datepicker .ui-state-default:hover {
  background: #f6f6f6;
}

.ui-datepicker .ui-state-active {
  background: #d2eeff;
}

.ui-datepicker .ui-state-highlight {
  color: #ff3b30;
}

.ui-datepicker .ui-state-highlight:hover {
  background-color: #ffd8d6;
}

#ui-datepicker-div {
  padding: 10px;
}

.ui-datepicker-week-col,
.ui-datepicker .ui-priority-secondary {
  color: #aaa;
}

body .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label {
  padding-top: 6px;
  color: #aaa;
  font-weight: 500;
  font-size: 0.9em;
}

/* Select2 */
body .select2-container--default .select2-selection--single {
  background-position: 4px 50%;
  border: var(--border-control);
  border-radius: var(--border-radius-control);
  height: 26px;
  outline: none;
}

body
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 25px;
  font-size: 12px;
  outline: none;
}

body
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 25px;
  outline: none;
}

body
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-color: #afafaf transparent transparent transparent;
}

body .select2-container--default .select2-selection--multiple,
body
  .select2-container--default
  .select2-search--dropdown
  .select2-search__field {
  border: var(--border-control);
  border-radius: var(--border-radius-control);
  outline: none;
}

body
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__rendered {
  font-size: 12px;
}

body .select2-container--default.select2-container--open .select2-selection,
body .select2-container--default .select2-selection:focus,
body
  .select2-container--default.select2-container--focus
  .select2-selection--single,
body
  .select2-container--default.select2-container--focus
  .select2-selection--multiple {
  border: 1px solid var(--color-active);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

body
  .select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: var(--color-hover);
}

body .select2-container .select2-search--inline .select2-search__field {
  padding-left: 4px;
}

body .select2-container .select2-selection--multiple {
  min-height: 26px;
}

body .select2-dropdown {
  border: var(--border-control);
  border-left-bottom-radius: var(--border-radius-control);
  border-right-bottom-radius: var(--border-radius-control);
}

/* ColorPicker */
div.colorPicker-palette,
div.colorPicker-swatch,
#main p div.colorPicker-picker,
span.simplecolorpicker.button,
span.simplecolorpicker.picker,
span.simplecolorpicker span.color {
  border-radius: 4px;
  border: var(--border);
}

#main p div.colorPicker-picker,
span.simplecolorpicker.button {
  height: 22px;
  width: 22px;
}

/* ==========================================================================
   10. AGILE & PLANNING BOARDS
   ========================================================================== */
.agile-board .issue-card,
.planning-board .issue-card {
  padding: 8px;
  border-radius: var(--border-radius-panel);
  background-color: #ffffeb;
}

.agile-board .issue-card p.name a,
.planning-board .issue-card p.name a {
  color: #666;
}

.agile-board .issue-card.bk-blue,
.planning-board .issue-card.bk-blue {
  background-color: #f0f5ff;
}
.agile-board .issue-card.bk-green,
.planning-board .issue-card.bk-green {
  background-color: #e6fadb;
}
.agile-board .issue-card.bk-red,
.planning-board .issue-card.bk-red {
  background-color: #ffeded;
}
.agile-board .issue-card.bk-yellow,
.planning-board .issue-card.bk-yellow {
  background-color: #fffed1;
}
.agile-board .issue-card.bk-purple,
.planning-board .issue-card.bk-purple {
  background-color: #f6ebff;
}
.agile-board .issue-card.bk-lightgreen,
.planning-board .issue-card.bk-lightgreen {
  background-color: #d2ffef;
}
.agile-board .issue-card.bk-orange,
.planning-board .issue-card.bk-orange {
  background-color: #ffe1bb;
}
.agile-board .issue-card.bk-turquoise,
.planning-board .issue-card.bk-turquoise {
  background-color: #e2feff;
}
.agile-board .issue-card.bk-gray,
.planning-board .issue-card.bk-gray {
  background-color: #eceaea;
}

.planning-board .column-content {
  border-radius: var(--border-radius-panel);
}

table.list.issues-board.sticky {
  border-radius: 0;
}

table.list.issues-board thead th {
  border-bottom: var(--border);
}

table.resource-planning-chart .task {
  border-radius: var(--border-radius-control);
}

#utilization-report-chart.chart .small-booking-card,
#utilization-report-chart.chart .workload-card,
.chart .workload-car,
.chart .booking-card {
  border-radius: var(--border-radius-panel);
}

#allocation-table table.cal {
  border-radius: var(--border-radius-panel);
  overflow: hidden;
}

table.list.invoice-lines,
table.list.product-lines {
  border-collapse: collapse;
}

/* ==========================================================================
   11. ICONS
   ========================================================================== */
a.icon:link .icon-svg,
a.icon-only:link .icon-svg,
span.icon-actions:link .icon-svg,
a.icon:visited .icon-svg,
a.icon-only:visited .icon-svg,
span.icon-actions:visited .icon-svg,
#sidebar-switch-button svg {
  stroke: #aaaaaa;
  stroke-width: 2.5;
}

a.icon:hover .icon-svg,
a.icon-only:hover .icon-svg,
span.icon-actions:hover .icon-svg {
  stroke: #c4c4c4;
}

a.icon:link .icon-svg-filled,
a.icon-only:link .icon-svg-filled,
a.icon:visited .icon-svg-filled,
a.icon-only:visited .icon-svg-filled {
  fill: #aaaaaa;
}

svg.icon-svg,
span.icon-actions .icon-svg {
  stroke: #aaaaaa;
  stroke-width: 2.5;
}

a.icon:hover svg,
a.icon-only:hover svg {
  stroke: #c4c4c4;
}

/* ==========================================================================
   12. HOTCOM CUSTOMIZATIONS (Wiki, Headings, Code)
   ========================================================================== */

a.icon:link .icon-svg,
a.icon-only:link .icon-svg,
span.icon-actions:link .icon-svg,
a.icon:visited .icon-svg,
a.icon-only:visited .icon-svg,
span.icon-actions:visited .icon-svg,
#sidebar-switch-button svg {
  stroke-width: 1.75px; /* Переопределение для Hotcom */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}

.syntaxhl .c,
.syntaxhl .c1 {
  color: var(--hc-text-color-green);
}

.syntaxhl .dl,
.syntaxhl .s,
.syntaxhl .s1,
.syntaxhl .s2 {
  background: none;
}

.syntaxhl .mi {
  font-weight: normal;
}

code,
div.wiki *:not(pre) > code,
div.wiki > code {
  background-color: var(--bg-secondary);
  padding: 0.125em 0.35em;
  border-radius: 3px;
  border: var(--border);
}

pre code {
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
}

.table-50-50 th:nth-child(1) {
  width: 50%;
  min-width: 300px;
}

.table-50-50 th:nth-child(2) {
  width: 50%;
  min-width: 300px;
}

.table-20-auto th:nth-child(1) {
  width: 20%;
  min-width: 300px;
}

.table-20-auto-auto th:nth-child(1) {
  width: 20%;
  min-width: 300px;
}

.table-20-auto-auto th:nth-child(2),
.table-20-auto-auto th:nth-child(3) {
  width: 40%;
  min-width: 300px;
}

div.wiki.wiki-page {
  max-width: 1400px;
  margin-inline: auto;
}

div.wiki ul.toc.right {
  margin-top: 0;
  border-radius: var(--border-radius-panel);
}

div.wiki h1,
div.wiki h2,
div.wiki h3,
div.wiki h4,
div.wiki h5,
div.wiki h6 {
  color: var(--hc-title-color);
}

div.wiki h1,
div.wiki h2,
div.wiki h3,
div.wiki h4,
div.wiki h5 {
  margin-top: 25px;
}

div.wiki h1 {
  font-size: 28px;
  margin-top: 10px;
}

div.wiki h2 {
  font-size: 20px;
}

div.wiki h3 {
  font-size: 16px;
}

div.wiki.wiki-page {
  color: var(--hc-title-color);
}

div.wiki pre {
  margin: 1.2em 0 2em 0;
  padding: 15px 20px;
  background-color: var(--hc-comment-background-color);
  border: 1px solid var(--color-border);
  width: auto;
  overflow-x: auto;
  overflow-y: hidden;
  font-family: 'helvetica neue', helvetica, arial, sans-serif;
  line-height: 20px;
  border-radius: var(--border-radius-panel);
}

div.wiki table,
div.wiki td,
div.wiki th {
  border: none;
}

div.wiki table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--border-radius-panel);
  font-size: inherit;
  border: var(--border);
  padding: 0;
  overflow: hidden;
  margin-bottom: 0;
}

div.wiki table:not(:first-child) {
  margin-top: 10px;
}

div.wiki table td {
  border-top: var(--border);
  align-content: start;
}

div.wiki table td b,
div.wiki table td strong {
  font-weight: 500;
}

div.wiki table th {
  background-color: var(--bg-secondary);
  align-content: start;
}

div.wiki table td:not(:last-child),
div.wiki table th:not(:last-child) {
  border-right: var(--border);
}

div.wiki table td,
div.wiki table th {
  padding: 10px;
}

div.wiki div:has(> table) {
  overflow-x: auto;
  max-width: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
  margin-bottom: 15px;
  margin-bottom: 15px;
}

div.wiki div:has(> table)::-webkit-scrollbar {
  display: none;
}

.wiki-team {
  position: relative;
  padding-bottom: 30px;
  container: wiki-team-container / inline-size;
}

.wiki-team__wrapper {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  width: 100%;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.wiki-team__column {
  display: flex;
  column-gap: 25px;
  flex-direction: column;
  position: relative;
  width: 100%;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__column:first-child {
    grid-column: span 2;
  }
}

.wiki-team__column-description {
  color: #444;
  padding: 10px;
  background-color: var(--bg-secondary);
  flex-grow: 1;
  margin-top: 15px;
}

.wiki-team__items {
  display: grid;
  gap: 25px 25px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  position: relative;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__items:has(.wiki-team__item:nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.wiki-team__item {
  width: 100%;
  position: relative;
  min-height: 100px;
  padding: 15px;
  border: var(--border);
  border-radius: var(--border-radius-panel);
  box-sizing: border-box;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__item {
    min-height: 140px;
  }
}

#sidebar .wiki-team__item {
  background-color: #ffffff;
}

.wiki-team__image {
  position: absolute;
  width: 120px;
  right: 15px;
  top: 15px;
  display: flex;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__image {
    height: 120px;
    width: 140px;
  }
}

@container wiki-team-container (min-width: 1024px) {
  .wiki-team__image {
    height: 140px;
    width: 160px;
  }
}

.wiki-team__image img {
  vertical-align: middle;
  max-width: 100%;
}

#sidebar .wiki-team__image {
  height: 100px;
  width: 100px;
  right: 10px;
  top: 10px;
}

.wiki-team__item-title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 15px;
  font-family: var(--fonts-main);
  width: calc(100% - 110px);
  position: relative;
  z-index: 2;
}

#sidebar .wiki-team__item-title {
  font-size: 17px;
  margin-bottom: 10px;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__item-title {
    width: calc(100% - 140px);
  }
  #sidebar .wiki-team__item-title {
    width: calc(100% - 110px);
  }
}

.wiki-team__item-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 5px;
  width: calc(100% - 110px);
  position: relative;
  font-size: 15px;
  z-index: 2;
}

#sidebar .wiki-team__item-links {
  font-size: inherit;
}

@container wiki-team-container (min-width: 780px) {
  .wiki-team__item-links {
    width: calc(100% - 140px);
  }
}

/* ==========================================================================
   13. MEDIA QUERIES (Responsive)
   ========================================================================== */

.controller-wiki #sidebar {
  min-width: 370px;
}

#main.collapsedsidebar #sidebar {
  min-width: 0!important;
}

@media screen and (min-width: 1280px) and (max-width: 1599px) {
  #sidebar {
    width: 22.5%;
  }
}

@media screen and (min-width: 1600px) and (max-width: 1919px) {
  #sidebar {
    width: 22.5%;
  }
}

@media screen and (min-width: 1920px) and (max-width: 2559px) {
  #sidebar {
    width: 22.5%;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min-device-pixel-ratio: 2) {
  select {
    background: url("/assets/themes/circle_hotcom/select2x-cc17e989.png") no-repeat right #fff;
    background-size: 18px 16px;
  }
}

@media all and (max-width: 899px) {
  body #header {
    background-color: var(--color-text);
  }
  body .flyout-menu {
    background-color: #29333a;
  }
  body .flyout-menu__avatar {
    margin-left: 8px;
  }
  body .flyout-menu__avatar img.gravatar {
    width: 32px;
    height: 32px;
    padding: 2px;
    border: solid 1px #d5d5d5;
    background: #fff;
    vertical-align: middle;
    border-radius: 0;
    margin-top: 3px;
  }
  body .flyout-menu a {
    color: var(--color-muted);
  }
  body .flyout-menu h3 {
    background-color: var(--bg-top-menu);
    border-color: var(--bg-top-menu);
  }
}
