:root {
  --background-color: #FBF8EE;
  --body-text: #000;
  --body-text-disabled: #666666;
  --link-color: #121288;
  --link-color-hover: #245efe;
  --button-color:rgba(0, 0, 0, 0.45);
  --button-color-disabled:rgba(0, 0, 0, 0.2);
  --button-color-active: #515151;
  --button-color-hover: #515151;
  --button-border-radius: 0;
  --cell-border: 1px solid rgba(0, 0, 0, 0.1);
  --cell-base-padding: 4px 8px;
  --input-disabled-background: rgba(0, 0, 0, 0.03);
  --color-orange: #ffbc36;
  --color-green: #0f8500;
  --color-red: #960505;
  --color-gray-disabled: #878787;
}

[class^=int24u-icon-], [class*=" int24u-icon-"] {
  font-family: "int24u-icon" !important;
  font-style: normal !important;
  font-weight: normal !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: -0.1em;
}

* {
  font-family: helvetica, sans-serif;
  font-weight: 300;
}

html,
body {
  background: var(--background-color);
  color: var(--body-text);
  font-size: 13px;
  margin: 0;
  padding: 0;
}

.icon {
  display: inline-block;
  max-width: 16px;
  max-height: 16px;
  font-size: 1rem;
  line-height: 1em;
  vertical-align: middle;
}
.icon.red {
  color: var(--color-red);
}
.disabled .icon, .icon.disabled {
  color: var(--color-gray-disabled);
  cursor: default;
}

.space-between {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

a, span.link {
  color: var(--link-color);
  text-decoration: none;
}

a img, span i.icon {
  vertical-align: middle;
  height: 1em;
}

a img.invert, i.icon.invert {
  filter: invert(94%) sepia(7%) saturate(407%) hue-rotate(336deg) brightness(93%) contrast(94%);
}

a:hover, span.link:hover {
  text-decoration: underline;
  cursor: pointer;
  color: var(--link-color-hover);
}

a.badge, span.badge {
  background: var(--color-orange);
  display: inline-block;
  width: 1em;
  border-radius: 100%;
  font-weight: bold;
}

a.nested {
  text-decoration: underline;
}

a.nested:hover {
  text-decoration: none;
}

a.off, span.off {
  color: #881212;
}

a.on, span.on {
  color: #248812;
}

a.off img, img.off {
  filter: invert(13%) sepia(58%) saturate(4072%) hue-rotate(347deg) brightness(86%) contrast(101%) !important;
}

a.on img, img.on {
  filter: invert(31%) sepia(30%) saturate(6835%) hue-rotate(82deg) brightness(98%) contrast(86%) !important;
}

h2 {
  margin: 0;
  padding: 0 20px;
  line-height: 30px;
}

h3 {
  margin: 0;
  font-weight: bold;
}

table {
  border-collapse: collapse;
}

table td {
  border: var(--cell-border);
  position: relative;
}

.bold {
  font-weight: bold;
}

.italic {
  font-style: italic;
}

.regular {
  font-weight: normal !important;
}

.strike {
  text-decoration: line-through;
}

.nodecor {
  text-decoration: none;
}

.big {
  font-size: 1.2em !important;
}

.small {
  font-size: 0.8em !important;
}

.left {
  text-align: left !important;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.top {
  vertical-align: top !important;
}

.middle {
  vertical-align: middle !important;
}

.bottom {
  vertical-align: bottom !important;
}

.block {
  display: block;
}

.inblock {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.inline-block {
  display: inline-block !important;
}

.padding {
  padding: 5px;
}

.paddingh {
  padding: 0 5px;
}

.paddingv {
  padding: 5px 0;
}

.paddingt {
  padding-top: 10px;
}

.paddingb {
  padding-bottom: 10px;
}

.paddingl {
  padding-left: 10px;
}

.paddingr {
  padding-right: 10px;
}

.floatl {
  float: left;
  display: block;
}

.floatr {
  float: right;
  display: block;
}

.cw {
  transform: rotate(90deg);
}

.ccw {
  transform: rotate(-90deg);
}

.nowrap {
  white-space: nowrap;
}

.hidden, .fidden {
  display: none;
}

.transparent {
  opacity: 0;
}

.sourcecode {
  font-family: courier;
}

tr.selected td {
  background: rgba(0, 0, 180, 0.2);
}

.error {
  color: maroon;
}

.grey {
  color: #666666;
}

.alert {
  background: var(--color-orange) !important;
}

.pulsing {
  background-color: transparent;
}

.edited {
  width: 8px;
  height: 8px;
  border-radius: 100%;
  z-index: 1;
  position: relative;
  color: transparent;
  background-color: currentColor;
}
.edited.corner {
  position: absolute;
  width: 0px;
  height: 0px;
  top: 0;
  right: 0;
  margin: 0 !important;
  background: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0 8px 8px 0;
  border-color: transparent currentColor transparent transparent;
  transform: rotate(0deg);
}

.strikeout {
  position: relative;
}

.strikeout:before {
  position: absolute;
  content: "";
  left: 1px;
  top: 50%;
  right: 0;
  border-top: 1px solid black;
  transform: rotate(-40deg);
}

span.priority-low {
  background: none;
  color: #999999;
}

span.priority-high {
  font-weight: bold;
}

span.priority-urgent {
  font-weight: bold;
  color: maroon;
}

span.priority-immediate {
  font-weight: bold;
  background: maroon;
  color: #FBF8EE;
}

span.status-simulation {
  color: #0000BB;
}

span.status-commented {
  font-weight: bold;
}

span.status-reopened {
  background: rgba(0, 180, 0, 0.2);
}

span.status-released {
  font-weight: bold;
  color: #008000;
}

span.roughness {
  font-weight: bold;
  background: #C0C0C0;
}

div.balance {
  min-width: 1920px;
  width: 100%;
  margin-top: 10px;
}

div.balance div.selector {
  width: 13.5%;
  float: right;
  margin: 0 10px 0 0;
  position: sticky;
  top: 6px;
}

div.balance table.general, div.balance table.revitems, div.balance div.about, div.balance div.summary, div.balance table.workers,
div.balance div.validation-error, div.balance div.validation-warning, div.balance div.confirm-dialog {
  width: 85%;
}

div.balance table.general, div.balance div.about, div.balance div.summary, div.balance table.workers,
div.balance div.validation-error, div.balance div.validation-warning, div.balance div.confirm-dialog {
  margin: 10px;
}

div.balance div.title div.balance-header span.revision-name {
  display: inline-block;
  max-width: 78%;
  white-space: nowrap;
}

div.balance img.group-icon {
  width: 12px;
  height: 12px;
  cursor: pointer;
}

div.header, div.title, thead.header, tfoot.footer {
  background: rgba(164, 153, 148, 0.5);
  padding: 8px 10px;
}

tfoot.footer, tfoot.footer td {
  font-weight: bold;
}

div.projects div.list {
  height: 300px;
}

div.projects {
  border: 1px solid rgba(0, 0, 0, 0.3);
}

div.projects td {
  border-left: none;
  border-right: none;
}

div.projects div.header div.popup {
  margin-left: -10px;
  height: 400px;
  overflow: scroll;
  width: 168px;
  padding: 0;
}

div.projects div.header div.popup a {
  display: inline-block;
  width: 16px;
  padding: 0;
}

div.projects div.header div.popup td.projname a {
  width: 108px;
}

div.detail img.gatherer {
  position: absolute;
  width: 240px;
  margin-left: -120px;
  margin-top: 280px;
}

div.detail div.bricks {
  background: url(../../graphics/the-wall.jpg);
  opacity: 0.1;
  height: 100%;
  overflow: hidden;
}

div.detail iframe.redmine, div.detail img.redmine {
  min-width: 800px;
  width: 100%;
  height: 100%;
  border: 0;
}

div.detail div.list {
  border: 1px solid rgba(0, 0, 0, 0.3);
}

div.detail div.body {
  padding: 0 20px;
}

div.detail table.spenttimes tr.d1 {
  background: rgba(80, 0, 0, 0.1);
}

div.detail table.spenttimes tr.d2 {
  background: rgba(0, 80, 0, 0.1);
}

div.detail table.spenttimes tr.d3 {
  background: rgba(0, 0, 80, 0.1);
}

div.detail table.spenttimes tr.d4 {
  background: rgba(80, 0, 80, 0.1);
}

div.detail table.spenttimes tr.d5 {
  background: rgba(0, 80, 80, 0.1);
}

div.detail ul.release {
  padding: 0 300px 0 20px;
}

div.tooltip-resp-user, div.tooltip-resp-team {
  background: #FBF8EE;
  padding: 4px 10px;
  border: 1px solid rgba(0, 0, 180, 0.2);
}

div.tooltip-resp-user {
  width: 135px;
}

div.tooltip-resp-team {
  width: 92px;
}

div.tooltip-actions {
  display: inline-block;
  margin-top: -4px;
  padding: 4px;
  background: #FBF8EE;
}

div.alerts {
  max-height: 350px;
  overflow: scroll;
  margin-top: 10px;
}

div.sticky div {
  background-size: 100% 100%;
  display: inline-block;
  width: 138px;
  padding: 15px;
  margin-top: 4px;
  word-wrap: break-word;
}

div.sticky div.low {
  background-image: url(../../graphics/sticky-low.png);
}

div.sticky div.mid {
  background-image: url(../../graphics/sticky-mid.png);
}

div.sticky div.top {
  background-image: url(../../graphics/sticky-top.png);
}

div.sticky a.link {
  display: block;
}

.loading {
  background-image: url(../../graphics/loading-bars.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: center;
}

div.list {
  overflow: scroll;
}

div.list table {
  width: 100%;
}

div.overview {
  width: 1000px;
  margin: 20px auto;
}
div.overview table {
  width: 100%;
}
div.overview table tr:hover {
  background: rgba(0, 0, 0, 0.1);
}
div.overview table tr td {
  padding: 4px 10px;
}

table.general span.edited, table.revitems td span.edited, table.workers td span.edited {
  position: absolute;
  margin-top: 5px;
}

table.general div.header {
  margin-right: 20px;
  padding: 6px 10px;
}

table.general p {
  display: inline-block;
  margin: 0;
}

table.general ul {
  list-style-position: inside;
  margin: 0;
  padding: 0;
}

div.balance table.general {
  margin-bottom: 10px;
}
div.balance table.general td {
  border: none;
}
div.balance table.general .col-basic > div:not(:last-of-type) {
  margin-bottom: 3px;
}
div.balance table.general .col-reserve ul {
  list-style: none;
}
div.balance table.general .col-reserve ul li {
  margin-bottom: 3px;
  min-height: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  position: relative;
}
div.balance table.general .col-reserve ul li .edited {
  position: relative;
  margin-top: 0;
}
div.balance table.general .col-reserve .input-num {
  max-width: 4em;
}
div.balance table.general tr.project-info td {
  padding: 10px 0 0px;
  vertical-align: top;
}
div.balance table.general tr.project-info .project-info-inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 40px;
}
div.balance table.general tr.project-info .project-info-cell-wrapper {
  height: 100%;
  padding: 5px;
  flex-grow: 1;
}
div.balance table.general tr.project-info .project-info-cell-wrapper.shrink {
  flex-grow: 0;
}
div.balance table.general tr.project-info .project-info-cell-wrapper:first-of-type {
  padding-left: 0;
}
div.balance table.general tr.project-info .project-info-cell-wrapper:last-of-type {
  padding-right: 0;
}
div.balance table.general tr.project-info .project-info-cell-wrapper.cell-teams {
  flex: 0 0 25%;
}
div.balance table.general tr.project-info .project-info-cell-wrapper.cell-notes {
  flex: 0 0 25%;
}
div.balance table.general tr.project-info .project-info-cell-wrapper.cell-notes textarea {
  height: 6em;
}
div.balance table.general tr.project-info .heading {
  margin-bottom: 0.3em;
}
div.balance table.general tr.project-info .heading h4 {
  padding: 0;
  margin: 0;
  font-weight: bold;
}
div.balance table.general tr.project-info .heading .icon.add {
  color: var(--color-green);
  margin-top: -0.3em;
}
div.balance table.general tr.project-info .heading .icon.add:hover {
  color: black;
}
div.balance table.general tr.project-info .project-icon {
  display: block;
  width: 80px;
  height: auto;
  max-width: 100%;
  max-height: 64px;
  object-fit: contain;
  object-position: top left;
  margin: 0;
  transition: filter 0.3s ease-in-out;
}
div.balance table.general tr.project-info .project-icon-link {
  display: inline-block;
}
div.balance table.general tr.project-info .project-icon-link:hover .project-icon {
  filter: brightness(1.15) saturate(1.15);
}

.team-switch {
  margin-bottom: 1em;
}
.team-switch .add-container {
  display: inline-block;
}
.team-switch .popup.add-team h5 {
  font-size: 1.1em;
  font-weight: bold;
  padding: 0;
  margin: 0;
  margin-bottom: 0.3em;
}
.team-switch .popup.add-team ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.team-switch .popup.add-team ul li {
  padding: 0;
  margin: 0;
}

.stageflow .stageflow-wrapper {
  --arrow-extension: 10px;
  --arrow-space: 4px;
  display: flex;
  flex-direction: row;
}
.stageflow .arrow {
  display: block;
  flex-grow: 1;
  margin-right: calc((var(--arrow-extension) - var(--arrow-space)) * -1);
  padding: 6px 24px 6px 30px;
  text-align: center;
  clip-path: polygon(0% 0%, calc(100% - var(--arrow-extension)) 0%, 100% 50%, calc(100% - var(--arrow-extension)) 100%, 0% 100%, var(--arrow-extension) 50%);
  background-color: #D4D4D4;
}
.stageflow .arrow.done {
  background: #C1E6A0;
}
.stageflow .arrow.current {
  background: var(--button-color-active);
}
.stageflow .arrow.current span {
  font-weight: bold;
  color: #fff;
}
.stageflow .arrow.start {
  padding-left: 15px;
  clip-path: polygon(0% 0%, calc(100% - var(--arrow-extension)) 0%, 100% 50%, calc(100% - var(--arrow-extension)) 100%, 0% 100%);
}
.stageflow .arrow.end {
  margin-right: 0;
  padding-right: 15px;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, var(--arrow-extension) 50%);
}

div.validation-error,
div.validation-warning {
  font-size: 14px;
}

div.validation-error {
  background: #BB0000 !important;
  color: var(--color-orange);
}

div.validation-warning {
  background: var(--color-orange) !important;
}

div.validation-error p,
div.validation-warning p {
  margin: 0;
  padding: 10px 20px;
  font-weight: bold;
}

div.confirm-dialog {
  display: flex;
  justify-content: center;
  padding: 1em 0;
}
div.confirm-dialog .inner {
  width: 50%;
  margin: 0 10px;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.07);
  border: 2px solid var(--color-red);
  text-align: left;
}
div.confirm-dialog ul {
  padding: 0;
  list-style: none;
}
div.confirm-dialog ul li {
  position: relative;
  padding: 0;
  padding-left: 2em;
  margin-bottom: 0.5em;
}
div.confirm-dialog ul li i.icon {
  position: absolute;
  left: 0;
  top: 0.3em;
}
div.confirm-dialog ul li ul {
  background: transparent;
}
div.confirm-dialog ul li ul li {
  line-height: 16px;
  margin: 5px 0 15px 0;
}
div.confirm-dialog input.confirm-note,
div.confirm-dialog textarea.reject-note {
  width: 100%;
}
div.confirm-dialog textarea.reject-note {
  height: 100px;
}
div.confirm-dialog a.button {
  margin: 10px 0 0 6px;
  padding: 6px 10px;
}
div.confirm-dialog a.button.on {
  background-color: rgba(18, 136, 18, 0.5);
}
div.confirm-dialog a.button.off {
  background-color: rgba(136, 18, 18, 0.5);
}
div.confirm-dialog a.button.on:hover {
  background-color: rgba(0, 112, 0, 0.5);
}
div.confirm-dialog a.button.off:hover {
  background-color: rgba(112, 0, 0, 0.5);
}

div.about h3, div.summary h3 {
  margin-bottom: 0;
}

table.general textarea,
div.about textarea,
div.summary textarea,
table.workers textarea {
  width: -webkit-fill-available;
  height: 60px;
  overflow: scroll;
  margin: 0;
  padding: 4px 6px;
}

table.workers td {
  padding: var(--cell-base-padding);
}
table.workers td.note {
  width: 350px;
  position: relative;
}
table.workers td.note textarea {
  border: none;
  position: absolute;
  height: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
table.workers input.worker.part {
  margin: 0;
}

.textarea-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.textarea-wrapper textarea {
  width: 100%;
  height: 100%;
}

div[role=log] {
  display: none;
}

div.outage {
  padding-top: 350px;
}

div.outage {
  background-image: url(../../graphics/Rychlesipy.png);
  background-size: auto 300px;
  background-position: center top 50px;
  background-repeat: no-repeat;
}

div.login {
  text-align: center;
}

div.login form {
  margin: 400px auto auto auto;
  width: 200px;
}

div.login input {
  display: block;
  width: 200px;
  line-height: 30px;
  height: 30px;
}

div.title a.home {
  display: block;
  margin-right: 20px;
  height: 30px;
}

div.title a.home:hover {
  text-decoration: none;
}

div.title a.home div.logo, div.title a.home div.name {
  display: inline-block;
  vertical-align: top;
  line-height: 18px;
  margin-top: 2px;
}

div.title a.home div.logo {
  background-image: url("../../graphics/Sberac.png");
  background-size: auto 60px;
  background-position: 5px;
  background-repeat: no-repeat;
}

div.title a.home div.logo {
  width: 60px;
  height: 60px;
  margin-top: -8px;
  margin-left: -20px;
}

div.title a.home h1, div.title a.home span {
  margin: 0;
  vertical-align: top;
  letter-spacing: -1px;
}

div.title a.home h1 {
  font-size: 26px;
  color: black;
}

div.title a.home span.level {
  font-size: 20px;
  color: maroon;
}

div.title a.home span.version {
  font-size: 12px;
  color: black;
}

div.title {
  height: 50px;
}

div.title div.boxleft {
  float: left;
}

div.title div.box {
  border: 1px solid;
  vertical-align: middle;
  padding: 0 12px;
  display: inline-block;
}

div.title div.box.alert {
  background: var(--color-orange);
}

div.title div.box.overridden {
  background: rgba(164, 153, 148, 0.5);
}

div.title div.box.sider {
  margin-left: -5px !important;
  padding: 0;
}

div.title div.box.sider a {
  padding: 0 4px;
}

div.title div.boxleft div.box {
  margin: 5px 5px 5px 0;
}

div.title div.box a {
  cursor: pointer !important;
  height: 20px;
}

div.title div.box img {
  height: 1em;
  vertical-align: middle;
}

div.title div.box.spent div.popup a {
  width: auto;
}

div.title.errors {
  background: rgba(164, 53, 48, 0.5);
}

div.title {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  gap: 1em;
  height: 35px;
  margin: 10px;
  margin-top: 0;
  padding: 0 10px;
}
div.title h2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  white-space: nowrap;
  font-size: 16px;
  padding: 0;
  line-height: 20px;
}
div.title h2 .project-name {
  margin-right: 1em;
  padding-right: 1em;
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  overflow: hidden;
  white-space: nowrap;
}
div.title h2 .balance-name {
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
}
div.title h2 .tag {
  height: 20px;
  margin-left: 1em;
}
div.title h2 span.status {
  color: #fff;
}
div.title h2 span.status.alert {
  color: black;
}
div.title h2 span.status span {
  font-weight: inherit;
}
div.title h2 span.status.reload {
  background: #BB0000 !important;
  color: var(--color-orange) !important;
}
div.title h2 span.status.reload a {
  color: var(--color-orange) !important;
  font-weight: bold;
  text-decoration: underline;
}
div.title div.boxleft {
  flex-grow: 1;
  padding-top: 7px;
}
div.title div.boxright {
  flex-shrink: 1;
  justify-self: flex-end;
  padding-top: 7px;
  text-align: right;
}
div.title div.boxright .button-row .box {
  border: 0;
  padding: 0;
  margin: 0 0 0 5px;
}
div.title.develop {
  background: #B2DBFF;
}
div.title.testing {
  background: #FFB2B2;
}

.tab-button {
  border: none;
  box-sizing: border-box;
  background-color: transparent;
  padding: 0;
  font-size: 1em;
  line-height: 1em;
  cursor: pointer;
  user-select: none;
  appearance: none;
  border-radius: 0;
  touch-action: manipulation;
  display: inline-block;
  padding: 4px 8px;
  margin: 0;
  border: none;
  font-size: 12px;
  line-height: 1em;
  border-radius: 0;
  text-align: center;
  background-color: var(--button-color);
  color: #fff;
}
.tab-button.enabled, .tab-button.active {
  background: var(--button-color-active);
  color: #fff;
}
.tab-button:hover {
  background: var(--button-color-active);
  color: #fff;
  text-decoration: none;
}
.tab-button:not(.enabled):not(.active):hover {
  background: var(--button-color-hover);
  color: #fff;
  text-decoration: none;
}
.tab-button.enabled {
  background: var(--button-color-active);
  color: #fff;
}
.tab-button:not(.enabled):hover {
  background: var(--button-color-active);
  color: #fff;
}
.tab-button.disabled {
  cursor: default;
  pointer-events: none;
}

.tab-button-group {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 1px;
}
.tab-button-group.wrap {
  flex-wrap: wrap;
}
.tab-button-group.horizontal:has(> :nth-child(2)) .tab-button:not(:first-of-type):not(:last-of-type) {
  border-radius: 0;
}
.tab-button-group.horizontal:has(> :nth-child(2)) .tab-button:first-of-type {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.tab-button-group.horizontal:has(> :nth-child(2)) .tab-button:last-of-type {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.tab-button-group.bottom .tab-button {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.tab-button-group.bottom .tab-button:first-of-type:not(.active) {
  border-top-right-radius: 0;
}
.tab-button-group.bottom .tab-button:last-of-type:not(.active) {
  border-top-left-radius: 0;
}
.tab-button-group.bottom .tab-button.active {
  padding: 6px 8px;
}
.tab-button-group.large .tab-button {
  font-size: 14px;
  padding: 6px 8px;
}
.tab-button-group.large .tab-button.active {
  padding: 9px 8px;
}

input.button,
button.button,
a.button,
span.button {
  border: none;
  box-sizing: border-box;
  background-color: transparent;
  padding: 0;
  font-size: 1em;
  line-height: 1em;
  cursor: pointer;
  user-select: none;
  appearance: none;
  border-radius: 0;
  touch-action: manipulation;
  display: inline-block;
  padding: 4px 6px;
  margin: 0;
  border: none;
  font-size: 12px;
  line-height: 1em;
  border-radius: 0;
  text-align: center;
  background-color: var(--button-color);
  color: #fff;
}
input.button .icon,
button.button .icon,
a.button .icon,
span.button .icon {
  font-size: 1em;
  height: 1em;
  width: 1em;
}
input.button:hover,
button.button:hover,
a.button:hover,
span.button:hover {
  background: var(--button-color-active);
  color: #fff;
  text-decoration: none;
}
input.button.disabled,
button.button.disabled,
a.button.disabled,
span.button.disabled {
  background: var(--button-color-disabled);
  color: rgba(255, 255, 255, 0.6);
  cursor: default;
  pointer-events: none;
}
input.button.readonly:hover,
button.button.readonly:hover,
a.button.readonly:hover,
span.button.readonly:hover {
  color: black;
  background: transparent;
  border-color: rgba(0, 0, 180, 0.2);
  cursor: default;
}
input.button.extra,
button.button.extra,
a.button.extra,
span.button.extra {
  background: #F3E2B8;
}
input.button.icon-left .icon,
button.button.icon-left .icon,
a.button.icon-left .icon,
span.button.icon-left .icon {
  margin-right: 0.3em;
}

.close-button {
  border: none;
  box-sizing: border-box;
  background-color: transparent;
  padding: 0;
  font-size: 1em;
  line-height: 1em;
  cursor: pointer;
  user-select: none;
  appearance: none;
  border-radius: 0;
  touch-action: manipulation;
  display: inline-block;
  width: 20px;
  height: 20px;
  color: black;
  vertical-align: middle;
  line-height: 1em;
}
.close-button i.icon {
  font-size: 18px;
  line-height: 1em;
}
.close-button:hover {
  color: var(--link-color-hover);
}

.toggle {
  border: none;
  box-sizing: border-box;
  background-color: transparent;
  padding: 0;
  font-size: 1em;
  line-height: 1em;
  cursor: pointer;
  user-select: none;
  appearance: none;
  border-radius: 0;
  touch-action: manipulation;
}
.toggle .icon.collapse {
  display: none;
}
.toggle.expanded .icon.collapse {
  display: inline-block;
}
.toggle.expanded .icon.expand {
  display: none;
}

.group-icon {
  cursor: pointer;
  user-select: none;
}
.group-icon:hover {
  color: var(--link-color-hover);
}

.tiny-icon-button {
  text-decoration: none;
}
.tiny-icon-button:hover {
  text-decoration: none;
}
.tiny-icon-button.add {
  color: var(--color-green);
}
.tiny-icon-button.add:hover {
  color: black;
}
.tiny-icon-button.del {
  color: var(--color-red);
}
.tiny-icon-button.del:hover {
  color: black;
}
.tiny-icon-button.import {
  color: var(--color-green);
}
.tiny-icon-button.import:hover {
  color: black;
}

.tag {
  display: inline-block;
  white-space: nowrap;
  padding: 0.27em 0.5em 0.3em;
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.3);
  color: black;
  box-sizing: border-box;
  border-radius: 0;
  font-size: 0.9rem;
  line-height: 1.05em;
  user-select: none;
}
.tag.icon-left .icon {
  margin: -0.2em 0 0;
  margin-right: 0.3em;
}
.tag.violet {
  background-color: #9b00b7;
  color: white;
}
.tag.yellow {
  background-color: yellow;
}
.tag.gray {
  background-color: var(--color-gray-disabled);
  color: white;
}

textarea,
input[type=text],
input[type=number],
input[type=password] {
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  padding: 3px 5px;
}
textarea:focus,
input[type=text]:focus,
input[type=number]:focus,
input[type=password]:focus {
  outline: none;
  background-color: #f9ffcb;
  color: #000;
}

textarea {
  resize: none;
  overflow: scroll;
  font-size: 12px;
  line-height: 1.3em;
}

input:disabled,
textarea:disabled,
select:disabled {
  color: var(--body-text-disabled);
  background: var(--input-disabled-background);
  cursor: default !important;
}
input:disabled.est-spent,
textarea:disabled.est-spent,
select:disabled.est-spent {
  background: transparent !important;
}

@supports (-webkit-appearance: none) {
  input:disabled,
  textarea:disabled,
  select:disabled {
    background: var(--input-disabled-background);
    /*border: 1px solid #B0B0B0;*/
    cursor: default !important;
  }
}
.popup {
  position: absolute;
  display: none;
  background: #FBF8EE;
  border: 1px solid rgba(0, 0, 0, 0.3);
  z-index: 3;
  padding: 8px 10px;
}
.popup:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
}
.popup.form {
  width: 200px;
  margin-left: -180px;
}
.popup a {
  display: block;
  width: 140px;
  padding: 2px;
  text-align: left;
}
.popup table td {
  padding: 1px 4px;
}
.popup .enabled {
  background: rgba(0, 180, 0, 0.2);
}
.popup .disabled {
  background: #FBF8EE;
}
div:hover > .popup,
span:hover > .popup,
a:hover > .popup,
td:hover > .popup {
  display: block;
}

.inline .popup a {
  display: inline;
}
.debug .popup {
  margin-left: -500px;
  height: 500px;
  overflow: scroll;
}

.tooltip a.block {
  display: block;
  width: 140px;
  padding: 2px;
  text-align: left;
}

div.errorlist {
  cursor: pointer;
}
div.errorlist:hover {
  background: rgba(0, 0, 0, 0.1);
}
div.errorlist ul {
  position: fixed;
  display: none;
  width: 500px;
  margin: 0px 0 0 -414px;
  padding: 10px 10px 10px 30px;
  background: #FBF8EE;
  border: 1px solid;
  text-align: left;
}
div.errorlist ul:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
}
div.errorlist:hover ul {
  display: block;
  z-index: 1;
}

.tab-wrapper .tab-content-group .tab-content {
  display: none;
}
.tab-wrapper .tab-content-group .tab-content.active {
  display: block;
}

.tooltip {
  display: none;
}

#tooltip-overlay {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}
#tooltip-overlay.visible {
  display: block;
}

div.tooltip-manual {
  display: none;
  position: absolute;
  margin-left: -960px;
  width: 1000px;
  z-index: 20;
  box-sizing: border-box;
  padding: 1em;
  background-color: #ffffff;
  background: var(--background-color);
  text-align: left;
}
div.tooltip-manual .tooltip-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5em;
  align-items: center;
  margin-bottom: 0.75em;
  gap: 2em;
}
div.tooltip-manual .tooltip-header h3 {
  color: black;
  padding: 0;
  margin: 0;
}
div.tooltip-manual .tooltip-textarea input,
div.tooltip-manual .tooltip-textarea select,
div.tooltip-manual .tooltip-textarea textarea {
  width: 100%;
}
div.tooltip-manual .tooltip-textarea textarea {
  height: auto;
  min-height: 150px;
  height: 450px;
  max-height: 800px;
  overflow: scroll;
  resize: vertical;
  margin: 0;
}
div.tooltip-manual.show {
  display: block;
}

.filter {
  margin-left: 10px;
}

table.revitems {
  margin: 10px;
  margin-top: 0;
}
table.revitems .header .button-container {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
}

table.revitems a {
  cursor: pointer !important;
}

table.revitems th,
table.revitems td,
table.revitems tr.func td {
  padding: var(--cell-base-padding);
}
table.revitems th.compared,
table.revitems td.compared,
table.revitems tr.func td.compared {
  background: rgba(0, 0, 0, 0.2);
}

table.revitems th {
  font-weight: bold;
  text-align: left;
  white-space: nowrap;
  padding: 8px 4px;
  position: sticky;
  top: 6px;
  z-index: 2;
  background: #D0C9C2;
}

table.revitems tbody tr.main:not(.has-children) .group-icon, table.revitems tbody tr.func:not(.has-children) .group-icon {
  display: none;
}
table.revitems tbody tr.spent-est td:first-of-type {
  white-space: normal;
}
table.revitems tbody tr:hover td {
  background-color: rgba(255, 255, 255, 0.4);
}
table.revitems tbody tr:hover .compared {
  background: rgba(0, 0, 0, 0.1);
}
table.revitems tbody tr.main td.priceact span {
  font-weight: bold;
}
table.revitems tbody td.index {
  white-space: nowrap;
  width: 6em;
}
table.revitems tbody td.index .index-number {
  display: inline-block;
  min-width: 3.5em;
}
table.revitems tbody td.index .index-buttons {
  display: inline-block;
}
table.revitems tbody td.index .index-buttons a {
  display: inline-block;
}
table.revitems tbody td.index .index-buttons .icon {
  font-size: 0.85em;
}
table.revitems tbody td.actions {
  width: 4em;
}

table.revitems tr.func {
  background: rgba(0, 0, 0, 0.05);
}

table.revitems td.level-func, table.revitems td.level-main, table.revitems td.level-sub {
  white-space: nowrap;
}

table.revitems td.level-func {
  width: 362px;
  padding-left: 0px;
}

table.revitems td.level-main {
  width: 322px;
  padding-left: 40px;
}

table.revitems td.level-sub {
  width: 282px;
  padding-left: 80px;
}

table.revitems td.priceact:not(.disabled) {
  cursor: pointer;
  color: var(--link-color);
}
table.revitems td.priceact:not(.disabled):hover {
  background: rgba(246, 181, 49, 0.25);
}
table.revitems td.priceact:not(.disabled) i.icon {
  display: none;
}
table.revitems td.priceact:not(.disabled).defset i.icon {
  display: initial;
}

table.revitems td.ok {
  color: green;
}

table.revitems td.nok, table.revitems span.nok {
  color: maroon !important;
}

table.revitems input[type=text],
table.workers input[type=text] {
  border: 1px solid #B0B0B0;
  padding: 4px 6px;
  font-size: 12px;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.8);
}

table.revitems input.est-time:not([type=submit]),
table.revitems input.reg-spent:not([type=submit]),
table.revitems input.est-spent:not([type=submit]) {
  text-align: right;
  width: 100%;
  box-sizing: border-box;
}
table.revitems input.est-time {
  font-weight: bold;
}
table.revitems input.est-time.other-team, table.revitems input.est-time.cust-res {
  background: transparent;
}
table.revitems input.est-time::placeholder {
  color: maroon;
  font-style: italic;
  padding-right: 2px;
}

table.revitems td.level-func input.item-name {
  width: 354px;
}

table.revitems td.level-main input.item-name {
  width: 322px;
}

table.revitems td.level-func,
table.revitems td.level-main {
  position: relative;
}
table.revitems td.level-func input.item-name,
table.revitems td.level-main input.item-name {
  padding-right: 22px;
}
table.revitems td.level-func .button-container,
table.revitems td.level-main .button-container {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
table.revitems td.level-main input.item-name {
  font-weight: bold;
}
table.revitems tr.team-worker {
  background-color: rgba(251, 248, 238, 0.8);
  display: none;
}
table.revitems tr.team-worker.visible {
  display: table-row;
}
table.revitems tr.team-worker td {
  font-weight: normal;
}
table.revitems tr.team-worker td.name {
  padding-left: 24px;
}
table.revitems tr.team-worker td.name input[type=checkbox] {
  margin-right: 0.3em;
}
table.revitems tr.team-worker td.worker-perc .worker-perc-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  min-width: 7em;
  left: auto;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}
table.revitems tr.team-worker td.worker-perc .worker-perc-container .label {
  display: block;
}
table.revitems tr.team-worker td.worker-perc .worker-perc-container input {
  left: auto;
  width: 4em;
}
table.revitems tr.team-worker.has-spent-hours td.name .worker-name {
  font-weight: bold;
}
table.revitems tr.team-worker:not(.participating) td.name .worker-name {
  opacity: 0.6;
}
table.revitems tr.team-worker:not(.participating) td.worker-perc .worker-perc-container {
  opacity: 0.6;
}
table.revitems tr.team-worker:not(.participating) td.worker-perc .worker-perc-container input {
  pointer-events: none;
}
table.revitems tfoot tr.total {
  line-height: 24px;
}
table.revitems tfoot tr.team .team-name {
  font-weight: bold;
}
table.revitems tfoot tr.padding {
  background: var(--background-color);
}
table.revitems tr.invert td, table.revitems td.invert, table.revitems th.invert {
  background: #7A7671 !important;
  color: #D0C9C2 !important;
}
table.revitems tr.invert td .alert, table.revitems td.invert .alert, table.revitems th.invert .alert {
  color: var(--body-text);
}

table.revitems td.level-sub input.item-name {
  width: 298px;
}

table.revitems td.level-main i.icon.errors {
  float: left;
  margin-left: -36px;
}

table.revitems td.level-sub i.icon.errors {
  float: left;
  margin-left: -76px;
}

table.revitems td.actions a:hover {
  text-decoration: none;
}

table.revitems tr.spent-est, table.revitems tr.spent-est:hover {
  background: rgba(0, 180, 0, 0.1);
  white-space: nowrap;
}

table.revitems tr.cust-res, table.revitems tr.cust-res:hover {
  background: rgba(246, 181, 50, 0.1);
  white-space: nowrap;
}

table.revitems tr.cust-res td.name {
  padding-left: 60px;
}

table.revitems a.cancel-conf {
  margin-left: -20px;
}

table.revitems .reg, table.revitems .est {
  margin: 0;
  padding: 0;
  height: 15px;
}

.selector .header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.selector .header .button-container {
  display: flex;
  flex-direction: row;
  gap: 0.4em;
}
.selector .header .button-container a {
  color: currentColor;
}
.selector .items {
  width: 100%;
  border: var(--cell-border);
  margin-bottom: 10px;
}
.selector .items .cattitle {
  font-weight: 400;
  padding: 3px 4px;
  border-bottom: var(--cell-border);
}
.selector .items .cattitle:hover {
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.selector .items .pricegrp div {
  padding: 3px 4px;
  border-bottom: var(--cell-border);
  padding-left: 20px;
}
.selector .items .pricegrp div:hover {
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.selector .items .priceact.faded {
  color: #B0B0B0;
}
.selector .status {
  padding: 10px 0;
  text-align: center;
  margin-bottom: 10px;
  font-size: 20px;
}

/*# sourceMappingURL=style.css.map */
