/*
 * DT visual theme overlay.
 * Keeps the old Iránytű PHP/menu structure, but gives the shell the newer
 * Bejövő számla mockup look.
 */
:root {
  --dt-bg: #f0f2f5;
  --dt-panel: #ffffff;
  --dt-sidebar: #1a1a2e;
  --dt-sidebar-soft: #252847;
  --dt-sidebar-line: #2e3255;
  --dt-text: #1a1a2e;
  --dt-border: #e5e8f0;
  --dt-border-soft: #f0f2f8;
  --dt-primary: #4f8ef7;
  --dt-primary-hover: #3a7ce0;
}

html,
body {
  min-height: 100%;
}

body {
  background: var(--dt-bg) !important;
  color: var(--dt-text) !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
}

body,
p,
li,
td,
input,
select,
textarea,
button {
  font-family: "Segoe UI", Arial, sans-serif !important;
}

body > header.container-fluid {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 50px;
  background: var(--dt-sidebar) !important;
  border-bottom: 1px solid var(--dt-sidebar-line);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

#navHeaderCollapse.navbar {
  min-height: 50px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--dt-sidebar) !important;
}

#navHeaderCollapse .container-fluid {
  min-height: 50px;
  padding-left: 70px !important;
  padding-right: 140px !important;
}

#navHeaderCollapse .navbar-nav > li > a {
  min-height: 50px;
  padding: 15px 14px 13px !important;
  color: #c8cfe8 !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0 !important;
  line-height: 20px !important;
  border-bottom: 3px solid transparent;
  transition: background .15s, color .15s, border-color .15s;
}

#navHeaderCollapse .navbar-nav > li > a:hover,
#navHeaderCollapse .navbar-nav > li.open > a,
#navHeaderCollapse .navbar-nav > li > a[style] {
  color: #fff !important;
  background: var(--dt-sidebar-soft) !important;
  border-bottom-color: var(--dt-primary) !important;
  outline: 0 !important;
}

#navHeaderCollapse .dropdown-menu {
  min-width: 210px;
  padding: 6px 0 !important;
  border: 1px solid var(--dt-sidebar-line) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3) !important;
  background: var(--dt-sidebar) !important;
}

#navHeaderCollapse .dropdown-menu > li > a {
  padding: 8px 14px !important;
  color: #c8cfe8 !important;
  font-size: 13px !important;
  font-weight: 600;
  white-space: nowrap;
}

#navHeaderCollapse .dropdown-menu > li > a:hover {
  color: #fff !important;
  background: var(--dt-sidebar-soft) !important;
}

#navHeaderButton {
  top: 13px !important;
  width: 28px;
  height: 28px;
  border-radius: 6px !important;
  background: var(--dt-sidebar-soft) !important;
  border: 1px solid var(--dt-sidebar-line) !important;
}

#navHeaderButton:hover {
  background: var(--dt-sidebar-line) !important;
  border-color: var(--dt-primary) !important;
}

#szem,
#fogaskerek {
  width: 16px !important;
  height: 16px !important;
  filter: brightness(0) invert(1);
}

/* User profile section on the right side */
#navHeaderCollapse .navbar-right > li > span.navbar-text {
  min-height: 50px;
  padding: 15px 14px 13px !important;
  margin: 0 !important;
  color: #c8cfe8 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 20px !important;
  display: inline-block;
  cursor: pointer;
  transition: background .15s, color .15s;
}

#navHeaderCollapse .navbar-right > li:hover > span.navbar-text,
#navHeaderCollapse .navbar-right > li.open > span.navbar-text {
  color: #fff !important;
  background: var(--dt-sidebar-soft) !important;
}

#navHeaderCollapse .navbar-right .dropdown-menu {
  background: var(--dt-sidebar) !important;
  border: 1px solid var(--dt-sidebar-line) !important;
  right: 10px !important;
  left: auto !important;
}

#navHeaderCollapse .navbar-right .dropdown-menu > li > a {
  color: #c8cfe8 !important;
}

#navHeaderCollapse .navbar-right .dropdown-menu > li > a:hover {
  color: #fff !important;
  background: var(--dt-sidebar-soft) !important;
}

#tart.container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#balmenu {
  width: 228px !important;
  min-height: calc(100vh - 50px) !important;
  background: var(--dt-sidebar) !important;
  border-right: 0 !important;
  color: #c8cfe8;
}

#balmenu > div:first-child {
  height: auto !important;
  min-height: 56px;
  padding: 14px 16px 12px !important;
  background: var(--dt-sidebar) !important;
  border-bottom: 1px solid var(--dt-sidebar-line);
  outline: 0 !important;
  text-align: left !important;
}

#balmenu > div:first-child .h2 {
  display: block;
  margin: 0;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800;
  line-height: 20px;
}

#balmenu .list-group {
  margin: 0 !important;
  padding: 8px 0 !important;
  background: var(--dt-sidebar);
}

#balmenu .list-group a {
  display: block;
  color: #c8cfe8 !important;
}

#balmenu .list-group-item {
  margin: 0 !important;
  padding: 9px 16px !important;
  color: #c8cfe8 !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 600;
  line-height: 18px;
  transition: background .15s, color .15s, border-color .15s;
}

#balmenu .list-group-item:hover,
#balmenu .list-group-item.active {
  color: #fff !important;
  background: var(--dt-sidebar-soft) !important;
  border-left-color: var(--dt-primary) !important;
  outline: 0 !important;
}

#balmenu .list-group-item span {
  color: inherit !important;
}

#jobbik {
  left: 228px !important;
  width: calc(100vw - 228px) !important;
  min-height: calc(100vh - 50px);
  padding: 20px 24px !important;
  background: var(--dt-bg);
}

h1 {
  color: var(--dt-text) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  margin: 0 0 14px !important;
}

h2,
h3 {
  color: var(--dt-text) !important;
  font-weight: 700 !important;
}

.card,
.login_div,
#jobbik > table,
#jobbik .torzs > table,
.dataTables_wrapper,
table.display,
table.dataTable {
  border: 1px solid var(--dt-border) !important;
  border-radius: 10px !important;
  background: var(--dt-panel) !important;
  box-shadow: none !important;
}

table.dataTable thead th,
table.display thead th,
#jobbik table th {
  background: #f5f6fb !important;
  color: #555 !important;
  border-bottom: 2px solid var(--dt-border) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .5px;
}

table.dataTable tbody td,
table.display tbody td,
#jobbik table td {
  border-color: var(--dt-border-soft) !important;
}

.btn,
button,
input[type="button"],
input[type="submit"] {
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition: background .15s, border-color .15s, color .15s;
}

.btn-primary,
input[type="submit"] {
  background: var(--dt-primary) !important;
  border-color: var(--dt-primary) !important;
  color: #fff !important;
}

.btn-primary:hover,
input[type="submit"]:hover {
  background: var(--dt-primary-hover) !important;
  border-color: var(--dt-primary-hover) !important;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea,
.form-control {
  border: 1.5px solid #dde1ee !important;
  border-radius: 6px !important;
  color: var(--dt-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border-color: var(--dt-primary) !important;
  box-shadow: 0 0 0 3px rgba(79, 142, 247, .14) !important;
  outline: 0 !important;
}

.login_div {
  max-width: 420px;
  margin: 46px auto 0 !important;
  padding: 24px 28px !important;
}

.login_div table,
.login_div tbody,
.login_div tr,
.login_div td {
  display: block;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
}

#loginTitle {
  margin-bottom: 18px !important;
}

.loginData {
  display: inline-block;
  margin-bottom: 5px;
  color: #666;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .4px;
}

#felh,
#jelsz {
  width: 100% !important;
  height: 36px;
  margin-bottom: 10px;
}

#loginButton {
  width: 100%;
  height: 40px;
  margin-top: 4px;
}

.ui-dialog {
  border: 1px solid var(--dt-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(26, 26, 46, 0.14) !important;
}

.ui-dialog-titlebar {
  border: 0 !important;
  border-bottom: 1px solid var(--dt-border) !important;
  background: #fafbff !important;
  color: var(--dt-text) !important;
}

@media (max-width: 900px) {
  #navHeaderCollapse .container-fluid {
    padding-right: 70px !important;
  }

  #balmenu {
    width: 208px !important;
  }

  #jobbik {
    left: 208px !important;
    width: calc(100vw - 208px) !important;
    padding: 14px !important;
  }
}

/* Login page layout: the old Iránytű shell has an empty left menu before login. */
body.dt-login-page #balmenu {
  display: none !important;
}

body.dt-login-page #jobbik {
  left: 0 !important;
  width: 100vw !important;
  min-height: calc(100vh - 50px) !important;
  padding: 48px 16px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Sidebar icons and badges formatting */
#balmenu .list-group-item {
  display: flex !important;
  align-items: center !important;
}

#balmenu .list-group-item .icon {
  display: inline-block !important;
  font-size: 15px !important;
  width: 20px !important;
  margin-right: 8px !important;
  text-align: center !important;
}

#balmenu .nav-badge {
  margin-left: auto !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 1px 6px !important;
  border-radius: 10px !important;
  line-height: 12px !important;
}
#balmenu .nav-badge.red    { background: #dc3545 !important; }
#balmenu .nav-badge.orange { background: #fd7e14 !important; }
#balmenu .nav-badge.green  { background: #28a745 !important; }

body.dt-login-page .login_div {
  width: min(420px, calc(100vw - 32px)) !important;
  margin: 0 !important;
}

.login_div #loginContent {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

.login_div form {
  width: 100% !important;
  margin: 0 !important;
}

.login_div br {
  display: none;
}

.login_div .loginA {
  display: inline-block;
  margin: 2px 0 14px;
}

#loginButton {
  float: none !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 100% !important;
  height: 40px !important;
  margin: 4px 0 0 !important;
  padding: 0 16px !important;
}

#hibacska {
  position: static !important;
  min-height: 18px;
  margin: 8px 0 0 !important;
  line-height: 18px !important;
}

