﻿:root {
	--vc-bg: #e0e6ef;
	--vc-surface: #ffffff;
	--vc-surface-soft: #f7fafc;
	--vc-text: #102235;
	--vc-link: #184d88;
	--vc-primary-900: #0f1f3d;
	--vc-primary-800: #1a3a6a;
	--vc-primary-700: #2f5f7a;
	--vc-primary-600: #35515c;
	--vc-primary-500: #4f7080;
	--vc-primary-300: #9fb4cc;
	--vc-border: #b7c5d6;
	--vc-border-soft: #d7e2ee;
	--vc-shadow: 0 4px 14px rgba(18, 39, 67, .10);
	--vc-radius-md: 8px;
	--vc-radius-lg: 12px;
}

body {padding: 0; margin: 0; font-family: 'Montserrat', arial;  font-size: 12px; background: var(--vc-bg); color: var(--vc-text);}
div {overflow: hidden;}

input, textarea, select {
	border: 1px solid #8a8a8a;
	padding: 3px 7px;
	-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
	caret-color: #d00;
}


@font-face {
  font-family: 'Material Icons Outlined';
  src: url('/fonts/MaterialIconsOutlined-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

.material-icons-outlined {
  font-family: 'Material Icons Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;   /* размер иконки */
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


.ui-datepicker {overflow: visible !important;}
.ui-datepicker tr:hover {background: none !important;}
.ui-datepicker td {padding-left:  none !important; padding-right:  none !important; border-right: none !important;}
.date, .date3day {width: 85px; text-align: center;}
.datetime {width: 130px; text-align: center;}
.time {width: 50px; text-align: center;}
a {text-decoration: none; color: var(--vc-link);}
a:hover {text-decoration: underline;}
tr:hover {background: #f0dede !important; color: #222 !important; transition: background-color 100ms ease-out, color 100ms ease-out;}
hr {margin: 10px 0;}
td {vertical-align: top;}
td:first-child {padding-left: 5px;}
td:last-child {padding-right: 5px;}
td:not(:last-child) {border-right: 1px solid #aaa;}
tr:nth-child(even) {background-color:rgba(0, 0, 0, 0.02);}
.link_button {
	background: linear-gradient(135deg, #43a047, #388e3c);
	padding: 6px 14px;
	color: #fff;
	border: none;
	border-radius: 4px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.18);
	cursor: pointer;
	font-size: 13px;
	letter-spacing: 0.3px;
	transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
	display: inline-block;
	text-decoration: none;
	line-height: 1.4;
}
.link_button:hover {
	background: linear-gradient(135deg, #4caf50, #43a047);
	box-shadow: 0 4px 8px rgba(0,0,0,0.22);
	transform: translateY(-1px);
	text-decoration: none;
}
.link_button:active {
	background: linear-gradient(135deg, #388e3c, #2e7d32);
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	transform: translateY(0);
}
.border {border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; box-shadow:0px 0px 2px 1px #B5B5B5;}
.border2 {border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; box-shadow:0px 0px 4px 2px #8d8d8d;}
.hover:hover {background: #F7FAF9; cursor: pointer; color: #888; text-decoration: underline; transition: background-color 100ms ease-out, color 100ms ease-out;}
.h1 {font-size: 16px; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid #ccc;}
.h2 {font-size: 14px; padding-bottom: 7px; padding-top: 10px;}
.h3 {font-size: 14px; background: var(--vc-primary-900); padding: 7px; margin-bottom: 7px; color: #fff; border-bottom: 1px solid #0a2040;}

.search_lombard_box {float: left; width:400px; height:125px; border: 1px solid #ccc; margin: 5px; background: #f3f6fb; cursor: pointer; -webkit-border-radius: 3px;-moz-border-radius: 3px;border-radius: 3px; box-shadow:0px 0px 4px 1px #aaaaaa; transition: background-color 300ms ease-out, border 300ms;}
.search_lombard_box:hover {border: 1px solid #983b3b; margin: 5px; background: #fdf2f2; transition: background-color 300ms ease-out, border 300ms;}

.search_lombard_box > div:not(.notboxs):first-child {transition: width 300ms, height 300ms, border 300ms; float: left; width:153px; height:125px;   border-right: 1px solid #ccc;}
.search_lombard_box > div:not(.notboxs):first-child:hover {margin-left: -1px; margin-top: -1px;width: 400px !important; height: 320px !important; position: absolute !important; background-size: auto 320px !important; border:1px solid #983b3b;transition: width 300ms, height 300ms, border 300ms;}

.live_blog table{border-collapse: collapse; width: 100%; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc;}
.live_blog td{border: 1px solid #ccc;}
.live_blog p{padding: 5px 5px 1px 5px; margin: 0;}

.leasing_request div {
	padding: 3px 0;
}

.shadow {box-shadow:0px 0px 3px 1px #8d8d8d;}


.fastchat:hover {
	background: #F5F5ED !important;
	color: #8F824C;
}

[onclick] {cursor: pointer;}

.radius {-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;}

.radius5 {-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;}

.shadowfastchat {box-shadow:1px 1px 1px 1px #525252;}


.ui-autocomplete {
max-height: 100px;
overflow-y: auto;
/* prevent horizontal scrollbar */
overflow-x: hidden;
}
/* IE 6 doesn't support max-height
* we use height instead, but this forces the menu to always be this tall
*/
* html .ui-autocomplete {
height: 100px;
}

.tiny p {margin:1px 0;}
.tiny table {border-collapse: collapse;}

.leasing_request label {
	float: left;
	width: 150px;
	color: #2a2a2a;
}

.leasing_request input {
	width: 200px;
	margin-top: -2px;
}

.leasing_request select {
	margin-top: -2px;
}


.leasing_request  textarea {
	width: 200px;
	margin-top: -2px;
	height: 100px;
}

.loginbox {
	border: 1px solid #001506;
	background: #3b5998;
	color: #fff;
	display: table;
	margin: auto;
	margin-top: 20px !important;
	padding: 20px 30px;
	-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}

.loginbox h1 {
	font-size: 20px;
	padding-bottom: 20px;
}

.loginbox h2 {
	font-size: 10px;
	padding-top: 10px;
}

.loginbox div {
	padding: 3px 0;
}

.loginbox label {
	float: left;
	width: 80px;
	padding-right: 10px;
	text-align: right;
	font-size: 14px;
	line-height: 25px;
}

.loginbox input[type=text], input[type=password] {
	width: 200px;
	border: 1px solid #233863;
	padding: 3px;
}

.loginbox input[type=submit] {
	border: 1px solid #233863;
	padding: 3px 7px;
}

input[type=submit]:active {
	background: #C5C5C5;
}

input[type=button]:active {
	background: #C5C5C5;
}

#topmenuup {background: var(--vc-primary-900); height: 19px; border-bottom: 1px solid #1e3a68;}
.topmenu {padding: 2px 0; background: linear-gradient(135deg, #081633, var(--vc-primary-900)); color: #fff; overflow: hidden; margin-bottom: 7px; border-bottom: 1px solid #1a3060;}
.topmenu .topmenubuttons {display: inline-block;}
.topmenu a {margin: 2px 3px; padding: 7px 12px; color: #e8f0ff;  background: #1a3562; float: left; border: 1px solid #1a3060; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; transition: background-color 300ms ease-out, color 300ms ease-out;}
.topmenu a:hover {text-decoration: none; background: var(--vc-primary-700); color: #fff; transition: background-color 300ms ease-out, color 300ms ease-out;}
.topmenu .selected {background: var(--vc-primary-800); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);}
.topmenu .userpanelbox {float: right;}

.label150 label {float: left; width: 155px; padding-right: 5px; text-align: right}
.label170 label {float: left; width: 175px; padding-right: 5px; text-align: right}

.lleft label {text-align: left !important;}

.label200 label {float: left; width: 200px; padding-right: 5px; text-align: right}

.label200 div, .label170 div, .label150 div {padding: 3px 0;}
.label200 input[type=checkbox], .label170 input[type=checkbox], .label150 input[type=checkbox] {margin-top: 2px !important;}
.label200 input, .label170 input, .label200  select, .label170 select, .label150  select, .label150 input, .label150 textarea, .label170 textarea, .label200  textarea {margin-top: -3px;}
.error {color: red !important;}
.error input, .error select, .error textarea {border: 1px solid red !important;}


.blink {
  -webkit-animation: blink 2s linear infinite;
  animation: blink 2s linear infinite;
}
@-webkit-keyframes .blink {
  50% { color: rgb(34, 34, 34); }
  51% { color: rgba(34, 34, 34, 0); }
  100% { color: rgba(34, 34, 34, 0); }
}
@keyframes .blink {
  50% { color: rgb(34, 34, 34); }
  51% { color: rgba(34, 34, 34, 0); }
  100% { color: rgba(34, 34, 34, 0); }
}

.search {margin: 0; font-size: 12px; padding: 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; border: 1px solid #1e3a68;}
.searchbox {float: left; margin: 6px 0 0 5px;}
#topmenuad {position: absolute; top: 0; font-size: 10px; left:50%; width: 230px; margin-left: -100px;}
#topmenuad div {index:3; float: left; padding: 2px 20px; font-size: 9px; background: #745e34; color: #fff; cursor: pointer; margin: 0 2px; border: 1px solid #543909;}
#topmenuad div:hover {background: #f7ac22; transition: background-color 300ms ease-out, color 300ms ease-out;}
#topmenuad .selected {background: #e59e1c !important;}

@media (max-width: 1270px) {
	.topmenu a {margin: 2px 3px; padding: 5px 10px; color: #dce8f7; font-size: 11px; background: #1f3f6f; float: left; border: 1px solid #1e3a68; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
	.search {margin: 0; font-size: 12px; padding: 3px;}
	.searchbox {margin: 4px 0 0 5px;}
}

/* Docs-like login screen for intra */
.login-screen {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--vc-primary-900) 0%, #162d53 40%, var(--vc-primary-800) 100%);
	padding: 20px;
}

.login-card {
	background: var(--vc-surface);
	border-radius: var(--vc-radius-lg);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
	padding: 40px 36px 30px;
	width: 100%;
	max-width: 380px;
	text-align: center;
}

.login-logo {
	margin-bottom: 16px;
}

.login-logo img {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .1));
}

.login-title {
	font-size: 16px;
	font-weight: 600;
	color: var(--vc-text);
	margin-bottom: 28px;
	letter-spacing: .3px;
}

.login-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.login-field {
	position: relative;
	display: flex;
	align-items: center;
}

.login-field i {
	position: absolute;
	left: 14px;
	color: #a0aec0;
	font-size: 14px;
	z-index: 1;
}

.login-field input {
	width: 100%;
	padding: 12px 14px 12px 42px;
	border: 1px solid var(--vc-border-soft);
	border-radius: 8px;
	font-size: 14px;
	font-family: 'Montserrat', arial;
	background: var(--vc-surface-soft);
	transition: border .2s, box-shadow .2s;
	box-sizing: border-box;
}

.login-field input:focus {
	border-color: #1a73e8;
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(26, 115, 232, .12);
}

.login-btn {
	width: 100%;
	padding: 12px;
	background: linear-gradient(135deg, var(--vc-primary-700), var(--vc-primary-800));
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	font-family: 'Montserrat', arial;
	cursor: pointer;
	transition: transform .15s, box-shadow .2s;
	margin-top: 4px;
}

.login-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(26, 115, 232, .35);
}

.login-btn:active {
	transform: translateY(0);
}

.login-footer {
	margin-top: 24px;
	font-size: 10px;
	color: #a0aec0;
	letter-spacing: .3px;
}

@media (max-width: 700px) {
	.login-card {
		padding: 30px 24px 24px;
		margin: 0 10px;
	}
}

@media (max-width: 1199px) {
	#topmenuad {margin-left: -220px !important;}
	.searchbox {float: left;}
	.topmenu .topmenubuttons {float: left;}
	.topmenu .userpanelbox  {float: left; margin-left: 5px;}

	.mobwidth{
		width: 100% !important;
		overflow: auto !important;
	}



	.mobwidth410p{
		width: 410px !important;
	}

	.mobwidth30{
		width: 32% !important;
	}
	.mobwidth30m{
		width: 28% !important;
		margin: 1% !important;
	}

	.mobwidth50m{
		width: 48% !important;
		margin: 1% !important;
	}

	.mobwidth20m{
		width: 18% !important;
		margin: 1% !important;
	}



	.mobwidthwindow{
		top: 0 !important;
		left: 0 !important;
		margin: 0 !important;
	}
}

/* Product info side menu */
.prod-menu-card {
	margin-bottom: 13px;
}

.prod-menu-card--unified {
	margin-bottom: 13px;
	padding: 0;
	background: #fff;
	border: 1px solid #b9b9b9;
}

.prod-menu-section {
	margin: 0;
}

.prod-menu-section + .prod-menu-section {
	border-top: 1px solid #dedede;
}

.prod-menu-section .prod-menu-card__title {
	display: none;
}

.prod-menu-card__title {
	color: #fff;
	border-bottom: 1px solid #999;
}

.prod-menu-card__body {
	padding: 2px 0;
}

.prod-menu-section:first-child .prod-menu-card__body {
	padding-top: 0;
}

.prod-menu-section-label {
	margin: 0;
	padding: 4px 8px;
	font-weight: 700;
	border-radius: 0;
}

.prod-menu-section-label--main {
	color: #fff;
	background: #AA9066;
	border-bottom: 1px solid #999;
	font-weight: 700;
	padding: 7px;
}

.prod-menu-section-label--admin {
	color: #7f1010;
	background: #f3d9d9;
}

.prod-menu-card--main {
	background: #fff;
	border: 1px solid #AA9066;
}

.prod-menu-card__title--main {
	background: #AA9066;
	font-size: 14px;
	padding: 7px;
}

.prod-menu-section--main .prod-menu-card__body {
	padding: 4px 0;
}

.prod-menu-card--admin {
	background: #F2E1E1;
	border: 1px solid #8A0E0E;
}

.prod-menu-card__title--admin {
	background: #8A0E0E;
	padding: 4px;
}

.prod-menu-group {
	margin: 6px 3px;
}

.prod-menu-group__title {
	color: #999;
	padding: 4px;
	border-bottom: 1px solid #999;
	margin-bottom: 3px;
}

.prod-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.prod-menu-list--compact {
	margin: -4px 0 4px 6px;
}

.prod-menu-list__item {
	padding: 0;
	margin: 2px 0;
	line-height: 1.3;
}

.prod-menu-list__item a,
.prod-menu-action {
	display: flex;
	align-items: center;
	min-height: 30px;
	padding: 0 10px;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-decoration: none;
	color: #1f428f;
	font-weight: 600;
	transition: background-color 120ms ease-out, color 120ms ease-out;
}

.prod-menu-list__item a:hover,
.prod-menu-action:hover {
	background: #eef2fb;
	color: #183777;
	text-decoration: none;
}

.prod-menu-list__item a:active,
.prod-menu-action:active {
	background: #e1e8f8;
}

.prod-menu-list__item--toggle {
	color: blue;
	cursor: pointer;
}

.prod-menu-list__item--hidden {
	display: none;
}

.prod-menu-action {
	color: blue;
	cursor: pointer;
}

.prod-menu-link-danger {
	color: #a01c1c;
	background: transparent !important;
}

.prod-menu-link-danger:hover {
	background: #f8ecec !important;
}

.prod-menu-note {
	padding: 3px 2px;
}

.prod-menu-note--center {
	text-align: center;
}

.prod-menu-note--error {
	color: red;
}

.prod-menu-note--strong {
	font-weight: 700;
}

/* remove extra top gap before first menu block */
.prod-menu-section:first-of-type {
	margin-top: 0 !important;
}

@media (max-width: 900px) {
	.mobwidth td {
		font-size: 10px;
	}

	input[type='checbox'] {
		width: 15px !important;
		height: 15px !important;
	}

	.mobnoshow {
		display: none;
	}
}


/* width */
#fastchatcheckerusers::-webkit-scrollbar {
  width: 7px;
}


/* Handle */
#fastchatcheckerusers::-webkit-scrollbar-thumb {
  background: #1a6580;
}

/* Handle on hover */
#fastchatcheckerusers::-webkit-scrollbar-thumb:hover {
  background: #1c7d9f;
}

#fastchatcheckerusers::-webkit-scrollbar-track {
	background: #2b3f46;
}


.dropdown {
  position: static;
}

.dropdown-content {
  overflow: visible;
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  margin-right: -80px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 9999;
}


.dropdown:hover .dropdown-content {display: block;}
.dropdown:hover .dropbtn {background-color: #3e8e41;}

/* Standard card design for accounting payment editor (.mp-*) */
.mp-wrap {
	max-width: 1400px;
	margin: 14px auto;
	background: #fff;
	border: 1px solid #cfd7e3;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(7, 26, 61, .08);
}

.mp-head {
	background: linear-gradient(135deg, #113a78, #1c6cae);
	color: #fff;
	padding: 14px 18px;
	font-size: 18px;
	font-weight: 700;
}

.mp-body {
	padding: 14px;
	background: #f4f8fc;
}

.mp-card {
	background: #fff;
	border: 1px solid #d7e2ef;
	border-radius: 12px;
	padding: 12px;
	margin-bottom: 12px;
}

.mp-card-title {
	font-size: 21px;
	font-weight: 700;
	color: #113a78;
}

.mp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 8px 10px;
}

.mp-field label {
	display: block;
	font-size: 11px;
	color: #5a6a82;
	margin-bottom: 3px;
}

.mp-input {
	width: 100%;
	padding: 7px 8px;
	border: 1px solid #c4d0df;
	border-radius: 7px;
	box-sizing: border-box;
	background: #fff;
}

textarea.mp-input {
	min-height: 52px;
	resize: vertical;
}

.mp-summary {
	display: flex;
	gap: 16px;
	align-items: center;
	flex-wrap: wrap;
	padding: 10px 12px;
	background: #fffde8;
	border: 1px dashed #d6b350;
	border-radius: 10px;
	margin: 8px 0 12px;
}

.mp-summary b {
	color: #5a4600;
}

.mp-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 8px;
}

.mp-btn {
	display: inline-block;
	padding: 10px 16px;
	border: none;
	border-radius: 9px;
	cursor: pointer;
	background: #1a8f42;
	color: #fff;
	font-weight: 700;
}

.mp-btn-link {
	color: #bf1f1f;
	text-decoration: none;
	font-size: 12px;
}

/* Vacation self-service UI: modules/user/vac.php lists employee requests and modules/user/vac_print.php prints the Latvian application from lb_users_vacation. */
.vac-shell .mp-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	background: linear-gradient(135deg, #173e62, #2e7a74);
}

.vac-shell .vac-head-subtitle {
	display: block;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 500;
	opacity: .88;
	margin-top: 2px;
}

.vac-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.vac-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
	gap: 14px;
}

.vac-list {
	display: grid;
	gap: 10px;
}

.vac-row {
	display: grid;
	grid-template-columns: minmax(130px, .75fr) minmax(180px, 1fr) minmax(160px, 1fr) minmax(130px, .7fr) auto;
	gap: 10px;
	align-items: center;
	padding: 12px;
	border: 1px solid #d9e5ec;
	border-radius: 12px;
	background: linear-gradient(180deg, #fff, #f8fbfd);
	box-shadow: 0 4px 12px rgba(23, 62, 98, .06);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.vac-row:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(23, 62, 98, .12);
	border-color: #b8d2df;
}

.vac-muted {
	color: #607085;
	font-size: 12px;
}

.vac-strong {
	font-weight: 700;
	color: #173e62;
}

.vac-status {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.vac-status-0 { background: #fff4ce; color: #785a00; }
.vac-status-1 { background: #def4e7; color: #17603a; }
.vac-status-2 { background: #ffe1df; color: #96302b; }

.vac-form-card .mp-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vac-form-card .mp-actions {
	justify-content: flex-end;
}

.vac-table-card {
	margin-bottom: 14px;
}

.vac-top-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.vac-toggle-panel {
	margin-bottom: 14px;
	animation: vacPanelIn .16s ease-out;
}

@keyframes vacPanelIn {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

.vac-card-headline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}



.vac-filter-form .mp-grid {
	grid-template-columns: 1.1fr 1.2fr .9fr auto;
	align-items: end;
}

.vac-table-filter {
	padding: 12px;
	margin-bottom: 12px;
	border: 1px solid #d9e5ec;
	border-radius: 12px;
	background: #f7fbfd;
}

.vac-inline-date {
	display: flex;
	gap: 8px;
}

.vac-manager-add .mp-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vac-calendar-card {
	margin-bottom: 14px;
}

.vac-calendar-nav {
	display: flex;
	align-items: center;
	gap: 8px;
}

.vac-calendar-nav .mp-btn {
	padding: 7px 10px;
	font-size: 12px;
}

.vac-calendar-month {
	min-width: 72px;
	text-align: center;
	font-weight: 700;
	color: #173e62;
}

.vac-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
}

.vac-calendar-weekday {
	padding: 6px;
	color: #607085;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.vac-calendar-day {
	min-height: 74px;
	padding: 7px;
	border: 1px solid #d9e5ec;
	border-radius: 10px;
	background: #fbfdff;
	overflow: hidden;
}

.vac-calendar-empty {
	background: transparent;
	border-color: transparent;
}

.vac-calendar-busy {
	background: #eef8f4;
	border-color: #b8d8ca;
}

.vac-calendar-date {
	font-size: 12px;
	font-weight: 700;
	color: #173e62;
	margin-bottom: 4px;
}

.vac-calendar-person {
	padding: 2px 5px;
	margin-top: 3px;
	border-radius: 6px;
	background: #2e7a74;
	color: #fff;
	font-size: 10px;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Work-outside-office employee calendar: modules/user/workhome.php stores selected days in lb_users_workhome and notifies lb_users.head_id by email. */
.wh-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.wh-month {
	padding: 8px 12px;
	border-radius: 999px;
	background: #eef4f7;
	color: #173e62;
	font-weight: 700;
}

.wh-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: 14px;
	align-items: start;
}

.wh-calendar {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 7px;
}

.wh-weekday {
	padding: 6px;
	color: #607085;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.wh-day {
	display: block;
	min-height: 78px;
	padding: 8px;
	border: 1px solid #d9e5ec;
	border-radius: 11px;
	background: #fbfdff;
	cursor: pointer;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.wh-day:hover {
	transform: translateY(-1px);
	box-shadow: 0 7px 14px rgba(23, 62, 98, .1);
	border-color: #9fc9da;
}

.wh-day input {
	float: right;
}

.wh-empty {
	background: transparent;
	border-color: transparent;
	cursor: default;
}

.wh-empty:hover {
	transform: none;
	box-shadow: none;
}

.wh-day-number {
	display: block;
	font-weight: 700;
	color: #173e62;
}

.wh-day-note {
	display: inline-block;
	margin-top: 8px;
	padding: 3px 6px;
	border-radius: 999px;
	background: #2e7a74;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
}

.wh-day-saved {
	background: #eef8f4;
	border-color: #b8d8ca;
	cursor: default;
}

.wh-selected {
	min-height: 38px;
	padding: 9px 10px;
	border: 1px dashed #b8c7d6;
	border-radius: 9px;
	background: #fbfdff;
	color: #173e62;
	font-weight: 700;
}

.wh-list-card {
	margin-top: 14px;
}

.wh-team-card {
	margin-top: 14px;
}

.wh-team-note {
	margin-bottom: 12px;
	color: #607085;
	font-size: 12px;
}

.wh-team-day {
	cursor: default;
}

.wh-team-busy {
	background: #eef4f7;
	border-color: #b8d2df;
}

.wh-person {
	display: block;
	width: 100%;
	margin-top: 5px;
	padding: 4px 6px;
	border: none;
	border-radius: 7px;
	background: #173e62;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wh-person:hover {
	background: #2e7a74;
}

.wh-row {
	grid-template-columns: minmax(130px, .7fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

.vac-table-wrap {
	overflow-x: auto;
}

.vac-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 8px;
}

.vac-table th {
	padding: 8px 10px;
	color: #607085;
	font-size: 12px;
	font-weight: 700;
	text-align: left;
	white-space: nowrap;
}

.vac-table td {
	padding: 10px;
	background: #fbfdff;
	border-top: 1px solid #d9e5ec;
	border-bottom: 1px solid #d9e5ec;
	vertical-align: middle;
}

.vac-table td:first-child {
	min-width: 150px;
	font-weight: 700;
	color: #173e62;
}

.vac-table td:first-child {
	border-left: 1px solid #d9e5ec;
	border-radius: 12px 0 0 12px;
}

.vac-table td:last-child {
	border-right: 1px solid #d9e5ec;
	border-radius: 0 12px 12px 0;
}

.vac-table tr:hover td {
	background: #f3f8fb;
}

.vac-table .mp-input {
	min-width: 92px;
	padding: 7px 8px;
	font-size: 12px;
}

.vac-compact {
	max-width: 96px;
}

.vac-comment-input {
	min-width: 170px;
}

.vac-row-actions {
	display: flex;
	gap: 6px;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.vac-btn-danger {
	background: #c0392b;
}

.vac-empty {
	padding: 18px;
	border: 1px dashed #b8c7d6;
	border-radius: 12px;
	background: #fbfdff;
	color: #607085;
	text-align: center;
}

.vac-print-btn {
	white-space: nowrap;
	background: #2e7a74;
	text-decoration: none;
}

.vac-print-btn:hover {
	filter: brightness(1.08);
}

.vac-alert {
	margin-bottom: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	font-weight: 700;
}

.vac-alert-ok {
	border: 1px solid #a8d7ba;
	background: #eef8ee;
	color: #17603a;
}

.vac-alert-error {
	border: 1px solid #e0aaa6;
	background: #fff1f1;
	color: #96302b;
}

@media (max-width: 980px) {
	.vac-layout,
	.vac-row {
		grid-template-columns: 1fr;
	}

	.vac-filter-form .mp-grid,
	.vac-manager-add .mp-grid,
	.wh-layout {
		grid-template-columns: 1fr;
	}

	.vac-calendar-grid,
	.wh-calendar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vac-calendar-weekday,
	.vac-calendar-empty,
	.wh-weekday,
	.wh-empty {
		display: none;
	}

	.vac-shell .mp-head {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* User panel accordion: modules/userpanel.php groups profile, salary, scan certificate and manager IP actions. */
.up-shell {
	max-width: 1220px;
	margin-top: 18px;
	margin-bottom: 20px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 8px 20px rgba(15, 33, 61, .08);
}
.up-shell .mp-head {
	padding: 9px 14px;
	background: #f3f6fa;
	color: #35506f;
	font-size: 14px;
	font-weight: 600;
	border-bottom: 1px solid #dbe4ee;
}
.up-shell .mp-body {
	padding: 14px;
	background: #f3f6fa;
}
.up-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}
.up-column {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.up-intro {
	padding: 12px 16px;
	margin: 0 0 16px;
	justify-content: space-between;
	background: linear-gradient(135deg, #ffffff, #f5f8fc);
	border: 1px solid #dde6f0;
	border-radius: 12px;
}

.up-column > .up-panel-priority {
	margin-bottom: 0;
}

.up-column > .up-panel {
	display: block;
	width: 100%;
	margin: 0;
	vertical-align: top;
}
.up-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
}
.up-intro-identity {
	min-width: 0;
}
.up-intro-name {
	font-size: 20px;
	line-height: 1.2;
	color: #163b63;
}
.up-intro-muted {
	display: block;
	margin-left: 0;
	margin-top: 4px;
	color: #5a6a82;
	font-weight: 400;
}
.up-sections-secondary {
	display: contents;
}
.up-panel {
	background: #fff;
	border: 1px solid #d9e2ee;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(12, 29, 52, .05);
}
.up-panel-summary {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 8px;
	padding: 9px 12px;
	background: #f8fbfe;
	cursor: default;
	list-style: none;
	pointer-events: none;
	transition: none;
}
.up-panel-summary::-webkit-details-marker {
	display: none;
}
.up-panel-summary:after {
	display: none;
}
.up-panel-main {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	flex: 1;
}
.up-panel-kicker {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #5e7390;
}
.up-panel-headline {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	flex-direction: column;
	min-width: 0;
}
.up-panel-badge {
	display: inline-block;
	padding: 3px 7px;
	border-radius: 999px;
	background: #eaf2fb;
	border: 1px solid #d1dfef;
	color: #2c5d92;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .3px;
	text-transform: uppercase;
}
.up-panel-title {
	font-size: 15px;
	font-weight: 700;
	color: #113a78;
	padding-left: 0;
	position: static;
}
.up-panel[open] .up-panel-summary {
	background: #f8fbfe;
}
.up-panel-meta {
	color: #63758f;
	font-size: 12px;
	line-height: 1.35;
	text-align: left;
	max-width: 600px;
}
.up-panel-content {
	padding: 12px;
	background: #fbfcfe;
	border-top: 0;
}
.up-panel-priority {
	border-width: 0;
	box-shadow: 0 4px 10px rgba(20, 50, 84, .06);
}
.up-panel-priority .up-panel-summary {
	padding: 9px 12px;
	background: #f2f8f2;
	color: #214d31;
	border-bottom: 1px solid #dcebdc;
}
.up-panel-priority .up-panel-kicker,
.up-panel-priority .up-panel-meta,
.up-panel-priority .up-panel-title,
.up-panel-priority .up-panel-badge {
	color: inherit;
}
.up-panel-priority .up-panel-badge {
	background: #e2f1e3;
	border-color: #cfe4d2;
}
.up-panel-priority .up-panel-title {
	font-size: 15px;
}
.up-panel-priority .up-panel-content {
	background: #fbfcfe;
}
.up-panel-system { border-left: 5px solid #4470aa; }
.up-panel-salary { border-left: 5px solid #4a8c61; }
.up-panel-profile { border-left: 5px solid #9b6b2f; }
.up-panel-scan { border-left: 5px solid #7b5ca7; }
.up-panel-anketa { border-left: 5px solid #287e8b; }
.up-panel-manager { border-left: 5px solid #b45757; }
.up-panel-system .up-panel-badge { background: #edf3ff; border-color: #cfddf8; color: #29538b; }
.up-panel-salary .up-panel-badge { background: #eef9f1; border-color: #cde7d5; color: #2d6e44; }
.up-panel-profile .up-panel-badge { background: #fff5e9; border-color: #efd9b7; color: #8b5a1f; }
.up-panel-scan .up-panel-badge { background: #f3edfb; border-color: #dfd0f2; color: #654596; }
.up-panel-anketa .up-panel-badge { background: #eaf8fa; border-color: #cae6ea; color: #23626c; }
.up-panel-manager .up-panel-badge { background: #fff0f0; border-color: #efcccc; color: #9b3b3b; }
.up-panel-content .mp-card:last-child {
	margin-bottom: 0;
}
.up-inline-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.up-intro-actions {
	justify-content: flex-end;
}
.up-link-chip {
	display: inline-block;
	padding: 8px 10px;
	border-radius: 999px;
	background: #eef4fb;
	border: 1px solid #d3e0ee;
	color: #234f81;
	font-weight: 600;
	text-decoration: none;
}
.up-link-chip:hover {
	text-decoration: none;
	background: #e4eef9;
}
.up-summary-actions {
	display: flex;
	justify-content: flex-end;
	padding: 12px 0 0;
}
.up-embed-card {
	margin-top: 0;
	overflow: auto;
}
/* Userpanel system status still emits legacy float tiles from modules/systemstatus.php; remap them into dense columns here. */
.up-panel-system .up-embed-card {
	overflow: visible;
	column-count: 3;
	column-gap: 12px;
}
.up-panel-system .up-embed-card > div {
	float: none !important;
	display: inline-flex !important;
	width: 100% !important;
	height: auto !important;
	min-height: 130px;
	margin: 0 0 12px !important;
	padding: 12px !important;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	align-items: center;
	justify-content: center;
	vertical-align: top;
	box-sizing: border-box;
}
.up-panel-system .up-embed-card > div > div {
	display: block !important;
	width: 100%;
	text-align: center;
}
.up-panel-system .up-embed-card a {
	word-break: break-word;
}
.up-salary-toolbar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 100%;
	margin: 0 auto 12px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #d9e2ee;
	border-radius: 10px;
}
.up-salary-toolbar-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #214d31;
	text-align: center;
}
.up-salary-filter {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	width: 100%;
}
.up-salary-filter select {
	min-width: 76px;
	margin-top: 0;
	border-color: #cbd8e6;
	border-radius: 8px;
	padding: 6px 34px 6px 10px;
	background: #fff;
}
.up-salary-filter .mp-btn {
	margin-top: 0;
	padding: 6px 14px;
	line-height: 1.2;
}
.up-salary-filter-sep {
	color: #73859a;
	font-weight: 700;
	line-height: 1;
}
.up-form {
	max-width: 760px;
}
.up-form div {
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 6px 0;
}
.up-form label {
	float: none;
	width: auto;
	padding-right: 0;
	text-align: left;
	color: #31465f;
	font-weight: 600;
	line-height: 1.35;
}
.up-form .mp-input {
	max-width: none;
	width: 100%;
	margin-top: 0;
	min-width: 0;
}
.up-static-value {
	display: inline-block;
	padding-top: 0;
	color: #22354c;
	font-weight: 600;
}
.up-divider {
	display: inline-block;
	margin: 0 8px;
	color: #8fa0b2;
}
.up-password-note {
	margin: 4px 0 0 222px;
	font-size: 11px;
	line-height: 1.5;
	color: #6a7890;
}
.up-warning-row {
	margin: 6px 0 10px;
	padding: 10px 12px !important;
	background: #fff2f2;
	border: 1px solid #ebb4b4;
	border-radius: 8px;
	color: #a22929;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}
.up-card-alert {
	border-color: #db8e8e;
	box-shadow: inset 0 0 0 1px rgba(197, 84, 84, .10);
}
.up-upload-form {
	max-width: none;
}
.up-upload-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.up-upload-row .mp-input {
	max-width: 460px;
}
.up-upload-link,
.up-empty-note {
	padding-top: 10px;
	color: #5c6f85;
}
.up-anketa-submit {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 10px !important;
}
.up-form .up-warning-row,
.up-form .up-password-note {
	display: block;
	grid-template-columns: none;
}
.up-form hr {
	margin: 12px 0;
}
.up-form hr,
.up-form .up-anketa-submit,
.up-form .up-warning-row {
	grid-column: 1 / -1;
}
.up-anketa-submit label {
	padding-top: 6px;
	width: auto !important;
	float: none !important;
}
.up-pass-confirm {
	width: 140px;
	max-width: 140px !important;
}
.up-manager-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
	padding-top: 12px;
}
.up-action-tile form {
	max-width: none;
}
.up-action-tile .mp-input {
	max-width: none;
	margin-bottom: 10px;
}

@media (max-width: 900px) {
	.up-intro-grid {
		grid-template-columns: 1fr;
	}
	.up-intro-actions {
		justify-content: flex-start;
	}
	.up-layout {
		grid-template-columns: 1fr;
	}
	.up-panel-summary {
		flex-direction: column;
		align-items: flex-start;
	}
	.up-panel-summary:after {
		margin-left: 0;
	}
	.up-panel-headline {
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.up-panel-meta {
		text-align: left;
		max-width: none;
	}
	.up-password-note {
		margin-left: 0;
	}
	.up-form div {
		grid-template-columns: 1fr;
		gap: 6px;
	}
	.up-salary-filter {
		justify-content: flex-start;
	}
	.up-panel-system .up-embed-card {
		column-count: 2;
	}
	.up-form .mp-input {
		max-width: none;
	}
}

@media (max-width: 640px) {
	.up-panel-system .up-embed-card {
		column-count: 1;
	}
	.up-intro {
		flex-direction: column;
		align-items: flex-start;
	}
	.up-shell .mp-head,
	.up-shell .mp-body,
	.up-panel-priority .up-panel-summary,
	.up-panel-summary {
		padding-left: 14px;
		padding-right: 14px;
	}
	.up-anketa-submit {
		align-items: flex-start;
	}
	.up-anketa-submit label {
		padding-top: 0;
	}
}

/* WT invoice selection panel: modules/wt/info.php posts selected lb_wt_items ids for delete/move actions. */
.wt-layout {
	max-width: 1360px;
	margin: 14px auto;
	padding-bottom: 20px;
}
.wt-side-col {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.wt-card {
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(10, 26, 46, .10);
	overflow: hidden;
}
.wt-card-head {
	padding: 0;
	border-bottom: 1px solid rgba(255,255,255,.16);
}
.wt-card-head-blue {
	background: linear-gradient(135deg, #2f6f9a, #3b7f98) !important;
}
.wt-card-head-green {
	background: linear-gradient(135deg, #2c7d5f, #3B986E) !important;
}
.wt-card-head-indigo {
	background: linear-gradient(135deg, #2e327d, #1B1D63) !important;
}
.wt-card-head-emerald {
	background: linear-gradient(135deg, #427f2f, #55983B) !important;
}
.wt-card-title {
	padding: 9px 12px !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .2px;
}
.wt-card-body {
	padding: 10px;
	background: rgba(255,255,255,.72);
}
.wt-card-body-soft {
	background: #edf7ef !important;
}
.wt-card table {
	width: 100%;
	border-collapse: collapse;
}
.wt-card td {
	padding-top: 5px;
	padding-bottom: 5px;
}
.wt-card input[type=text],
.wt-card select {
	box-sizing: border-box;
	background: #fff;
	border-color: #9fb0c0;
}
.wt-card input[type=submit] {
	border: none;
	border-radius: 6px;
	background: #1a6d94;
	color: #fff;
	font-weight: 700;
	padding: 8px 12px;
	cursor: pointer;
}
.wt-card input[type=submit]:hover {
	filter: brightness(1.06);
}
.wt-card-warning {
	background: #fff8ef !important;
	border-color: #dbb165 !important;
}
.wt-card-warning div[align=center] {
	font-weight: 700;
}
.wt-selection-panel {
	display: none;
	position: fixed;
	right: 18px;
	top: 86px;
	width: 360px;
	max-height: calc(100vh - 110px);
	overflow: auto;
	z-index: 9000;
	background: #fff;
	border: 1px solid #b9c7d8;
	border-radius: 8px;
	box-shadow: 0 12px 34px rgba(16, 34, 53, .22);
	padding: 12px;
	box-sizing: border-box;
}
.wt-selection-title {
	font-weight: 700;
	font-size: 15px;
	color: #113a78;
	margin-bottom: 10px;
}
.wt-selected-list {
	max-height: 300px;
	overflow: auto;
	border: 1px solid #e3e9f1;
	background: #f8fbff;
	margin-bottom: 10px;
}
.wt-selected-card {
	padding: 8px;
	border-bottom: 1px solid #e3e9f1;
}
.wt-selected-card:last-child {
	border-bottom: none;
}
.wt-selected-doc {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	color: #102235;
}
.wt-selected-doc span {
	color: #6a7788;
	font-size: 11px;
}
.wt-selected-desc {
	margin: 4px 0;
	font-size: 11px;
	line-height: 1.35;
	color: #33465c;
}
.wt-selected-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px;
	font-size: 11px;
	color: #596b80;
}
.wt-selected-values b {
	color: #102235;
}
.wt-selected-summary {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 10px 0;
}
.wt-selected-summary div {
	background: #eef5ec;
	border: 1px solid #cfe1ca;
	border-radius: 6px;
	padding: 7px;
}
.wt-selected-summary span {
	display: block;
	font-size: 11px;
	color: #60754f;
}
.wt-selected-summary b {
	font-size: 15px;
	color: #224718;
}
.wt-selection-actions {
	display: grid;
	gap: 8px;
}
.wt-action {
	width: 100%;
	padding: 8px 10px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 700;
}
.wt-action-remove {
	background: #b3261e;
	color: #fff;
}
.wt-action-move {
	background: #1a6d94;
	color: #fff;
}
.wt-move-box {
	padding-top: 4px;
	border-top: 1px solid #e2e7ee;
}
.wt-move-title {
	font-size: 11px;
	font-weight: 700;
	color: #5a6a82;
	margin-bottom: 4px;
}
.wt-move-box select {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 6px;
}
.wt-row-selected {
	background: #fff7c7 !important;
}
.wt-row-action {
	color: #1a6d94;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
}
.wt-add-search-card {
	border: 1px solid #8a9f22 !important;
	background: #f6f8ea !important;
	margin-bottom: 20px;
}
.wt-add-search-head {
	background: #60751a;
	color: #fff;
	font-weight: 700;
	padding: 7px 9px;
	font-size: 13px;
}
.wt-add-search-body {
	padding: 10px;
}
.wt-add-search-body label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	color: #4d5c16;
	margin-bottom: 5px;
}
.wt-add-search-input {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 9px;
	border: 1px solid #aebc67;
	border-radius: 6px;
	background: #fff;
	font-size: 13px;
}
.wt-add-search-input:focus {
	outline: none;
	border-color: #60751a;
	box-shadow: 0 0 0 2px rgba(96, 117, 26, .16);
}
.wt-add-search-actions {
	display: flex;
	gap: 7px;
	align-items: center;
	margin-top: 8px;
}
.wt-add-search-btn,
.wt-add-bottom-actions input,
.wt-add-fixed-action input {
	background: #1a6d94;
	border: none;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 8px 12px;
}
.wt-add-search-btn:hover,
.wt-add-bottom-actions input:hover,
.wt-add-fixed-action input:hover {
	filter: brightness(1.08);
}
.wt-add-reset {
	display: inline-block;
	padding: 7px 9px;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #cbd4a1;
	color: #4d5c16;
	text-decoration: none;
	font-weight: 700;
	font-size: 12px;
}
.wt-add-reset:hover {
	background: #eef2d8;
	text-decoration: none;
}
.wt-add-search-hint {
	margin-top: 7px;
	color: #6e7b42;
	font-size: 11px;
}
.wt-main-col {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.wt-current-items {
	order: 2;
}
.wt-add-results-top {
	order: 1;
	background: #f5f8ee;
	border: 1px solid #b8c77a;
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(16, 34, 53, .10);
	overflow: hidden;
}
.wt-add-results-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #526a13;
	color: #fff;
	padding: 10px 12px;
	border-bottom: 1px solid #40540e;
}
.wt-add-results-title {
	font-size: 15px;
	font-weight: 700;
}
.wt-add-results-query {
	margin-top: 2px;
	font-size: 12px;
	color: #dce8b7;
}
.wt-add-reset-light {
	background: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .36);
	color: #fff;
}
.wt-add-reset-light:hover {
	background: rgba(255, 255, 255, .24);
}
.wt-add-results-table {
	border-collapse: collapse;
	background: #fff;
}
.wt-add-results-table tr:first-child {
	background: #253449;
	color: #fff;
	font-weight: 700;
}
.wt-add-results-table td {
	padding-top: 6px;
	padding-bottom: 6px;
}
.wt-add-results-table tr:not(:first-child):hover {
	background: #fff7d5 !important;
}
.wt-add-results-table input[type=text] {
	width: 72px !important;
	box-sizing: border-box;
	text-align: right;
}
.wt-add-results-table input[type=submit] {
	background: #1a8f42;
	border: none;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 5px 9px;
}
.wt-add-empty {
	padding: 14px;
	background: #fff;
	color: #7a4f00;
	font-weight: 700;
}
.wt-add-bottom-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 10px;
	background: #fff;
	border-top: 1px solid #dce6bd;
}
.wt-add-bottom-actions span {
	margin-right: auto;
	font-weight: 700;
	color: #4d5c16;
}
.wt-add-bottom-actions a {
	cursor: pointer;
	font-weight: 700;
	color: #1a6d94;
	text-decoration: none;
}
.wt-add-bottom-actions a:hover {
	text-decoration: underline;
}
.wt-add-fixed-action {
	display: none;
	position: fixed;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 9999;
	padding: 8px;
	background: rgba(255, 255, 255, .95);
	border: 1px solid #c5d2df;
	border-radius: 9px;
	box-shadow: 0 10px 28px rgba(16, 34, 53, .22);
}

@media (max-width: 1380px) {
	.wt-layout {
		padding: 0 10px 20px;
	}
}

@media (max-width: 1180px) {
	.wt-selection-panel {
		left: 10px;
		right: 10px;
		top: auto;
		bottom: 10px;
		width: auto;
		max-height: 55vh;
	}
}

@media (max-width: 700px) {
	.mp-grid {
		grid-template-columns: 1fr;
	}
}

/* moneypeditor panel */
.mp-editor {
	max-width: 1100px;
	margin: 16px auto;
	padding: 0 10px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 13px;
	color: #2c3e50;
}
.mp-editor * { box-sizing: border-box; }
.mp-editor .mp-card {
	background: #fff;
	border: 1px solid #dce3ed;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 14px;
	box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.mp-editor .mp-card-title .mp-title-id {
	font-weight: 400;
	opacity: .7;
	font-size: 11px;
}
.mp-editor .mp-contract-link {
	display: inline-block;
	margin-bottom: 12px;
	padding: 5px 12px;
	background: #f8f5e6;
	border: 1px solid #ddd1a0;
	border-radius: 6px;
	color: #6b5a1e;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
}
.mp-editor .mp-contract-link:hover { background: #f0eacc; }

/* toolbar */
.mp-toolbar {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 14px;
	background: #f5f7fb;
	border: 1px solid #dce3ed;
	border-radius: 10px;
	margin-bottom: 14px;
}
.mp-toolbar .mp-btn {
	padding: 7px 16px;
	font-size: 12px;
	border-radius: 6px;
	letter-spacing: .2px;
}
.mp-toolbar .mp-btn:hover { filter: brightness(1.12); }

/* кнопки типов */
.mp-btn-klix { background: #1a6d94; }
.mp-btn-esto { background: #6a7b18; }
.mp-btn-kasa { background: #357a9e; }
.mp-btn-bank { background: #9a7530; }
.mp-btn-del  { background: #c0392b; font-size: 11px !important; padding: 6px 12px !important; }
.mp-btn-add  { background: #5a8daa; font-size: 12px; padding: 6px 14px; }
.mp-btn-save { background: #27ae60; font-size: 13px; padding: 9px 24px; }

/* Webshop web analytics dashboard */
.wa-dashboard {
	max-width: 1500px;
}
.wa-dashboard .mp-body {
	background: #eef3f8;
}
.wa-hero {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 14px;
	padding: 18px;
	background: #0f2948;
	color: #fff;
	border-radius: 12px;
	margin-bottom: 12px;
}
.wa-hero-title {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 4px;
}
.wa-hero-sub {
	color: #c9d7e8;
	font-size: 12px;
}
.wa-hero-badge {
	background: #f5b84b;
	color: #172033;
	border-radius: 8px;
	padding: 8px 12px;
	font-weight: 800;
	white-space: nowrap;
}
.wa-filter-form {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.wa-filter-form .mp-input {
	width: auto;
	min-width: 96px;
}
.wa-tabs {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
}
.wa-tabs .mp-btn {
	background: #dfe8f1;
	color: #17324f;
	padding: 8px 12px;
	border: 1px solid #cbd8e5;
}
.wa-tabs .mp-btn-add {
	background: #1b6fa8;
	color: #fff;
	border-color: #1b6fa8;
}
.wa-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 10px;
}
.wa-stat {
	background: #fff;
	border: 1px solid #d6e0eb;
	border-radius: 10px;
	padding: 12px;
	box-shadow: 0 1px 3px rgba(12,34,58,.04);
}
.wa-stat-label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #6f8092;
	font-weight: 800;
}
.wa-stat-value {
	font-size: 24px;
	font-weight: 800;
	color: #102b46;
	margin-top: 5px;
}
.wa-stat-note {
	font-size: 11px;
	color: #728197;
	margin-top: 4px;
}
.wa-panel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
	gap: 12px;
}
.wa-chart-row {
	display: grid;
	grid-template-columns: 110px 1fr 75px;
	gap: 10px;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid #edf1f6;
}
.wa-chart-row:last-child {
	border-bottom: none;
}
.wa-chart-label {
	font-weight: 700;
	color: #263e59;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.wa-chart-track {
	height: 12px;
	background: #e6edf5;
	border-radius: 8px;
	overflow: hidden;
}
.wa-chart-fill {
	height: 12px;
	background: #2f7fb7;
	border-radius: 8px;
}
.wa-chart-fill-gold {
	background: #c8932f;
}
.wa-chart-value {
	font-weight: 800;
	text-align: right;
	color: #17324f;
}
.wa-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.wa-table th {
	background: #2d4968;
	color: #fff;
	padding: 8px;
	text-align: left;
	font-size: 11px;
}
.wa-table td {
	padding: 8px;
	border-bottom: 1px solid #edf1f6;
	vertical-align: middle;
}
.wa-table tr:nth-child(even) td {
	background: #f8fafc;
}
.wa-table tr:hover td {
	background: #edf4fb;
}
.wa-path {
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media (max-width: 760px) {
	.wa-hero { display: block; }
	.wa-hero-badge { display: inline-block; margin-top: 10px; }
	.wa-chart-row { grid-template-columns: 88px 1fr 60px; }
}

/* grid полей */
.mp-editor .mp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px 12px;
}
.mp-editor .mp-field label {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #7f8c9b;
	margin-bottom: 3px;
	font-weight: 600;
}
.mp-editor .mp-input {
	width: 100%;
	padding: 7px 8px;
	border: 1px solid #cdd5e0;
	border-radius: 6px;
	background: #fdfdff;
	font-size: 13px;
}
.mp-editor select.mp-input {
	padding: 6px 8px;
	background: #fdfdff;
}
.mp-editor .mp-input:focus,
.mp-editor select:focus {
	outline: none;
	border-color: #5a9abf;
	box-shadow: 0 0 0 2px rgba(90,154,191,.18);
}

/* суммовые поля — подсветка */
.mp-editor .mp-field-sum input {
	background: #fefbee;
	border-color: #d4c07a;
	font-weight: 700;
	color: #5a4a00;
}
.mp-editor .mp-field-sum label { color: #8a7020; }

/* таблицы */
.mp-editor .mp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.mp-editor .mp-table th {
	background: #4a6080;
	color: #fff;
	padding: 7px 8px;
	font-size: 11px;
	text-align: left;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .4px;
	white-space: nowrap;
}
.mp-editor .mp-table th:first-child { border-radius: 6px 0 0 0; }
.mp-editor .mp-table th:last-child { border-radius: 0 6px 0 0; }
.mp-editor .mp-table td {
	padding: 6px 8px;
	border-bottom: 1px solid #eef1f5;
	vertical-align: middle;
}
.mp-editor .mp-table tr:nth-child(even) td { background: #f8f9fc; }
.mp-editor .mp-table tr:hover td { background: #edf2f9; }
.mp-editor .mp-table .mp-input { padding: 5px 6px; font-size: 12px; }
.mp-editor .mp-table select {
	padding: 4px 6px;
	border: 1px solid #cdd5e0;
	border-radius: 5px;
	font-size: 11px;
	background: #fff;
}
.mp-editor .mp-table .mp-row-match td { background: #e5f5e5 !important; }

/* подвал таблицы */
.mp-table-footer {
	margin-top: 6px;
	padding: 4px 0;
	font-size: 11px;
	color: #6b7888;
}
.mp-table-footer b { color: #2c3e50; }

/* привязка банк-трансфера к договору */
.mp-bt-linked {
	font-size: 11px;
	line-height: 1.5;
}
.mp-bt-linked a {
	color: #2c6faa;
	text-decoration: none;
	font-weight: 500;
}
.mp-bt-linked a:hover { text-decoration: underline; }
.mp-bt-linked .mp-bt-cash { color: #999; font-size: 10px; }
.mp-bt-free {
	color: #bbb;
	font-size: 11px;
}

/* actions bar */
.mp-editor .mp-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 0 2px;
	border-top: 1px solid #eef1f5;
	margin-top: 8px;
}
.mp-editor .mp-actions b { color: #2c3e50; font-size: 14px; }
.mp-editor .mp-actions #m_money_display { font-size: 16px; color: #1a5276; font-weight: 700; }

/* уведомления */
.mp-notice {
	padding: 10px 14px;
	border-radius: 8px;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 500;
}
.mp-notice-ok  { background: #eef9ee; border: 1px solid #b8d6b8; color: #2f6a2f; }
.mp-notice-info { background: #f0f5ff; border: 1px solid #c0d0e8; color: #1a3d6b; }
.mp-notice-err { background: #fef0f0; border: 1px solid #e0b0b0; color: #8b2020; }

/* contract row (kasa) */
.mp-contract-row { background: #fffde8 !important; text-align: center; font-weight: 600; }

/* кнопки в таблицах */
.mp-editor .mp-table .mp-btn {
	padding: 4px 10px;
	font-size: 11px;
	border-radius: 5px;
	white-space: nowrap;
}

@media (max-width: 800px) {
	.mp-editor { padding: 0 4px; }
	.mp-editor .mp-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
	.mp-editor .mp-table { font-size: 11px; }
	.mp-editor .mp-table th, .mp-editor .mp-table td { padding: 5px 5px; }
}

/* утилитарные классы moneypeditor */
.mp-editor .mp-num { text-align: right; }
.mp-editor th.mp-num { text-align: right; }
.mp-editor td.mp-num { text-align: right; }
.mp-editor .mp-w60 { width: 60px; }
.mp-editor .mp-w100 { width: 100px; }
.mp-editor .mp-w120 { width: 120px; }
.mp-editor .mp-w150 { width: 150px; }
.mp-editor .mp-field-end { align-self: end; }

/* итоги верх/низ сравнение */
.mp-totals {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 13px;
}
.mp-total-row { color: #555; }
.mp-total-row b { color: #1a3d6b; font-size: 14px; }
.mp-match-ok {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 5px;
	background: #e5f5e5;
	color: #2a7a2a;
	font-weight: 700;
	font-size: 13px;
}
.mp-match-err {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 5px;
	background: #ffe0e0;
	color: #c02020;
	font-weight: 700;
	font-size: 13px;
}

/* Inventory list modernized table layout */
.inv-list-wrap {
	max-width: 1380px;
}

.inv-list-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.inv-list-add-btn {
	padding: 7px 16px;
	font-size: 12px;
	border-radius: 8px;
	background: #2e8b57;
}

.inv-list-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #d5e0ec;
	border-radius: 10px;
	overflow: hidden;
	table-layout: fixed;
}

.inv-list-table th {
	background: #415b78;
	color: #fff;
	padding: 8px 7px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .35px;
	border-right: 1px solid #587090;
	white-space: nowrap;
	position: sticky;
	top: 0;
	z-index: 2;
}

.inv-list-table td {
	padding: 7px 7px;
	border-bottom: 1px solid #e7edf5;
	vertical-align: middle;
	transition: background-color 120ms ease-out;
	word-break: break-word;
}

.inv-list-table td:first-child {
	font-weight: 700;
	color: #1b365a;
}

.inv-list-group-row td {
	background: linear-gradient(135deg, #c2d9f2, #e1eefb) !important;
	border-top: 3px solid #6e92bc;
	border-bottom: 2px solid #9ebadb;
	border-left: 6px solid #2f5f91;
	padding: 10px 12px;
	cursor: pointer;
}

.inv-list-group-row-alt td {
	background: linear-gradient(135deg, #ddd1f2, #f0e9fb) !important;
	border-top: 3px solid #9782bd;
	border-bottom: 2px solid #bbaad8;
	border-left: 6px solid #6b4f9c;
	cursor: default;
}

.inv-list-group-title {
	font-size: 14px;
	font-weight: 700;
	color: #173457;
	text-transform: uppercase;
	letter-spacing: .4px;
	margin-right: 12px;
}

.inv-list-group-hint {
	font-size: 11px;
	color: #304d73;
}

.inv-list-group-row:hover td,
.inv-list-group-row-alt:hover td {
	background: inherit !important;
	color: inherit !important;
}

.inv-list-table tr:hover td {
	background: #ecf4ff !important;
	color: #102235 !important;
}

.inv-list-row-active td {
	background: #ffffff;
}

.inv-list-row-finished td {
	background: #f2fbf4;
}

.inv-list-row-deleted td {
	background: #f1f2f4;
	color: #6d7580;
}

.inv-list-row-open td {
	font-size: 13px;
}

.inv-list-place-open {
	background: #e6edf7 !important;
	font-weight: 700;
}

.inv-list-place-suppressed {
	color: #98a8bc;
	font-weight: 700;
}

.inv-list-days-warn {
	color: #b12a2a;
	font-weight: 700;
}

.inv-list-count {
	display: inline-block;
	min-width: 20px;
	padding: 2px 7px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 11px;
	text-align: center;
}

.inv-list-count-found {
	background: #e2f5e8;
	color: #1f6b3f;
}

.inv-list-count-missing {
	background: #fbe8e8;
	color: #9b2f2f;
}

.inv-status-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

.inv-status-badge-active {
	background: #fff4d8;
	color: #8d5a00;
}

.inv-status-badge-finished {
	background: #dff2e7;
	color: #1d6a3d;
}

.inv-status-badge-deleted {
	background: #e8eaee;
	color: #687387;
}

@media (max-width: 1100px) {
	.inv-list-wrap {
		margin: 8px 6px;
	}

	.inv-list-head {
		flex-wrap: wrap;
	}

	.inv-list-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		table-layout: auto;
	}

	.inv-list-table td {
		word-break: normal;
	}
}

/* Inventory new form */
.inv-new-wrap {
	max-width: 760px;
}

.inv-new-form {
	margin: 0;
}

.inv-new-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(200px, 1fr));
	gap: 12px 14px;
}

.inv-new-field {
	background: #fff;
	border: 1px solid #d8e2ee;
	border-radius: 10px;
	padding: 10px;
}

.inv-new-field label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .35px;
	color: #4a607e;
	margin-bottom: 6px;
}

.inv-new-select {
	width: 100%;
	min-height: 34px;
	font-size: 13px;
	border: 1px solid #b8c8db;
	border-radius: 8px;
	background: #fdfefe;
	transition: border-color 120ms ease-out, box-shadow 120ms ease-out;
}

.inv-new-select:focus {
	border-color: #3f78ae;
	box-shadow: 0 0 0 2px rgba(63, 120, 174, .18);
	outline: none;
}

.inv-new-field-highlight {
	background: linear-gradient(135deg, #eff6ff, #f7fbff);
	border: 1px solid #98b7da;
	box-shadow: inset 0 0 0 1px #d6e4f4;
}

.inv-new-select-primary {
	border: 1px solid #6f98c5;
	background: #fff;
	font-weight: 700;
	color: #1e3f67;
}

.inv-new-field-note {
	margin-top: 6px;
	font-size: 11px;
	color: #5f7694;
}

.inv-new-actions {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #dce7f3;
	text-align: right;
}

@media (max-width: 850px) {
	.inv-new-grid {
		grid-template-columns: 1fr;
	}
}

  .popup {
            position: fixed;
            top: 10px;
            left: 10px;
            background: white;
            border: 1px solid black;
            padding: 10px;
            box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
            min-width: 200px;
            font-size: 12px;
            z-index: 1000;
        }
        .popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: bold;
            background: #ddd;
            padding: 5px;
        }
        .popup-close {
            cursor: pointer;
            color: red;
            font-size: 14px;
            font-weight: bold;
        }

.highlighted {
    background-color: yellow !important;
}

/* Live module layout */
.live-page {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 8px 14px;
	box-sizing: border-box;
	overflow: visible;
}

.live-top-section {
	margin-bottom: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.live-top-section .modul_head {
	flex: 1 1 100%;
	border-radius: 10px;
	border: 1px solid #c7d3df;
	background: linear-gradient(180deg, #f8fbff 0%, #eef4fa 100%);
	box-shadow: 0 4px 14px rgba(26, 51, 80, .12);
}

.live-rates-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 8px;
}

.live-rates-table tr:first-child {
	background: linear-gradient(180deg, #dce8f5 0%, #d1dfec 100%);
}

.live-rates-table td {
	padding: 7px 9px;
	border: 1px solid #d6dee7;
	border-left: 0;
	border-top: 0;
}

.live-rates-table tr td:first-child {
	border-left: 1px solid #d6dee7;
}

.live-rates-table tr:first-child td {
	border-top: 1px solid #d6dee7;
	font-weight: 700;
	color: #2f3b4a;
}

.live-card {
	background: var(--vc-surface);
	border: 1px solid var(--vc-border-soft);
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(6, 28, 58, .08);
	overflow: hidden;
}

/* Shared block/blog classes for Live module cards and section wrappers. */
.live-block {
	margin: 2px 2px 10px;
	background: var(--vc-surface);
	border: 1px solid var(--vc-border);
	border-radius: 6px;
	box-shadow: 0 3px 12px rgba(18, 39, 67, .14);
	overflow: hidden;
}

.live-block-title {
	padding: 9px 12px !important;
	margin-bottom: 0;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .2px;
	color: #fff;
	background: linear-gradient(90deg, var(--vc-primary-600), var(--vc-primary-500));
}

.live-block-content {
	padding: 0;
	background: #fff;
}

.live-blog-title {
	border-bottom: 1px solid var(--vc-border-soft);
	padding: 9px 12px !important;
	margin-bottom: 0;
	background: var(--vc-surface-soft);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .2px;
	text-align: left;
}

.live-blog-text {
	padding: 5px;
	font-family: verdana;
}

.live-blog-footer {
	border-top: 1px solid #ccc;
	margin-top: 4px;
	color: #777;
	padding: 4px 8px;
	background: var(--vc-surface-soft);
}

.live-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	overflow: visible;
}

.live-grid.live-grid-3 > .live-col {
	box-sizing: border-box;
	float: none !important;
	width: calc((100% - 24px) / 3) !important;
	margin: 0 !important;
	overflow: visible;
}

.live-grid.live-grid-3 .live-col-left,
.live-grid.live-grid-3 .live-col-center,
.live-grid.live-grid-3 .live-col-right {
	display: flex;
	flex-direction: column;
}

.live-col-rates {
	float: none !important;
	width: calc((100% - 20px) / 3) !important;
	margin: 0 !important;
	box-sizing: border-box;
	overflow: visible;
}

/* Styles transfer task cards in Live with a unified palette. */
.live-move-box {
	border: 1px solid var(--vc-border);
	background: var(--vc-surface-soft);
	overflow: hidden;
}

.live-move-box-title {
	background: linear-gradient(90deg, var(--vc-primary-600), var(--vc-primary-500));
	color: #fff;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.2;
	line-height: 1.3;
	letter-spacing: .2px;
	padding: 9px 12px !important;
}

.live-move-box table {
	background: #fff;
}

.live-move-box td {
	padding: 6px 8px;
	border-top: 1px solid var(--vc-border-soft);
	vertical-align: top;
}

.live-move-box tr:first-child td {
	border-top: 0;
}

.live-move-box a {
	color: var(--vc-link);
	text-decoration: none;
}

.live-move-box a:hover {
	text-decoration: underline;
}

.live-move-box-alert {
	border-color: #d8b78a;
	background: #fff9f2;
}

.live-move-box-alert .live-move-box-title {
	background: #8a5a21;
}

.live-grid input[type=text],
.live-grid select,
.live-grid textarea {
	max-width: 100%;
	box-sizing: border-box;
}

.live-table {
	display: block;
	width: 100%;
	overflow-x: auto;
	white-space: nowrap;
}

/* Aligns legacy Live inline colors with the shared project style system. */
.live-page {
	background: transparent;
	border-radius: 0;
	padding-top: 0;
}

/* Single-frame table style for transfer list in Live block. */
.live-transfer-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 0;
	border-top: 1px solid var(--vc-border-soft);
	table-layout: fixed;
}

.live-transfer-table td,
.live-transfer-table th {
	padding: 5px 7px;
	border-right: 1px solid var(--vc-border-soft);
	border-bottom: 1px solid var(--vc-border-soft);
	border-top: 0;
	border-left: 0;
	vertical-align: top;
	background-clip: padding-box;
}

.live-transfer-table tr td:last-child,
.live-transfer-table tr th:last-child {
	border-right: 0;
}

.live-transfer-table tr:last-child td,
.live-transfer-table tr:last-child th {
	border-bottom: 0;
}

.live-page .border,
.live-page .border3,
.live-page .live_blog {
	border: 1px solid var(--vc-border) !important;
	border-radius: 6px !important;
	box-shadow: 0 3px 12px rgba(18, 39, 67, .14) !important;
	background: var(--vc-surface);
}

.live-page div[style*='background: #A18A8A'],
.live-page div[style*='background: #655478'],
.live-page div[style*='background: #546678'],
.live-page div[style*='background: #3b7f98'],
.live-page div[style*='background: #0e2a15'] {
	background: linear-gradient(90deg, var(--vc-primary-600), var(--vc-primary-500)) !important;
	color: #fff !important;
	padding: 9px 12px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: .2px;
}

.live-page tr[style*='background: #35515c'] {
	background: linear-gradient(90deg, var(--vc-primary-600), var(--vc-primary-500)) !important;
	color: #fff !important;
}

.live-page div[style*='background: #B8B8B8'],
.live-page div[style*='background: #ccc'],
.live-page div[style*='background: #ddd'],
.live-page div[style*='background: #F7F7F7'],
.live-page div[style*='background: #E9E4F0'],
.live-page div[style*='background: #E4F0EC'],
.live-page table[style*='background: #f1f4f5'],
.live-page table[style*='background: #d8ded9'] {
	background: var(--vc-surface-soft) !important;
	color: var(--vc-text) !important;
}

.live-page input[type=text],
.live-page select,
.live-page textarea {
	border: 1px solid var(--vc-primary-300);
	border-radius: 6px;
	background: #fff;
	color: var(--vc-text);
}

.live-page input[type=submit],
.live-page button {
	border: 1px solid #2d5369;
	background: var(--vc-primary-700);
	color: #fff;
	border-radius: 6px;
	padding: 4px 10px;
	font-weight: 700;
}

.live-page input[type=submit]:hover,
.live-page button:hover {
	background: #284f65;
}

.live-page a {
	color: var(--vc-link);
}

@media (max-width: 1100px) {
	.live-grid.live-grid-3 > .live-col {
		width: 100% !important;
		margin: 0 0 10px 0 !important;
	}
}

@media (max-width: 700px) {
	.live-page {
		padding: 0 4px 10px;
	}

	.live-grid textarea {
		height: 180px !important;
	}
}

/* Calc module alternative visual theme with improved contrast and responsive columns. */
.calc-page {
	max-width: 1260px;
	width: auto !important;
	margin: 0 auto;
	padding: 10px 8px 18px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	background: transparent;
	border-radius: 0;
	overflow: visible;
}

.calc-page > .calc-col {
	float: none !important;
	width: calc((100% - 42px) / 4) !important;
	margin: 0 !important;
	box-sizing: border-box;
	overflow: visible;
}

.calc-page .border {
	border: 1px solid var(--vc-border) !important;
	border-radius: var(--vc-radius-md);
	overflow: hidden;
	box-shadow: 0 3px 12px rgba(18, 39, 67, .14);
}

.calc-page .h3 {
	margin: 0 !important;
	padding: 9px 12px !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .2px;
}

.calc-page table {
	border-color: #d7e2ee;
}

.calc-page td {
	vertical-align: middle;
}

.calc-page input[type=text],
.calc-page select,
.calc-page textarea {
	border: 1px solid var(--vc-primary-300);
	border-radius: 6px;
	padding: 4px 6px;
	box-sizing: border-box;
	max-width: 100%;
	background: #fdfefe;
	color: var(--vc-text);
}

.calc-page input[type=submit],
.calc-page button {
	border: 1px solid #2d5369;
	background: var(--vc-primary-700);
	color: #fff;
	border-radius: 6px;
	padding: 4px 10px;
	cursor: pointer;
	font-weight: 700;
}

.calc-page input[type=submit]:hover,
.calc-page button:hover {
	background: #284f65;
}

.calc-page a {
	color: var(--vc-link);
}

.calc-page .calc-col > div {
	width: 100% !important;
	box-sizing: border-box;
}

/* Ensures text remains readable even in legacy inline color blocks. */
.calc-page .border > div[style*='color: #fff'] {
	text-shadow: 0 1px 1px rgba(0, 0, 0, .35);
}

/* Normalizes spacing in the day counter mini-form so controls are not cramped. */
.calc-daycounter .calc-daycounter-form {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 10px;
	flex-wrap: wrap;
}

.calc-daycounter .calc-daycounter-form .date {
	width: 110px;
}

.calc-daycounter .calc-daycounter-form span {
	color: #35515c;
	font-weight: 700;
}

.calc-daycounter .calc-daycounter-form input[type=submit] {
	white-space: nowrap;
}

@media (max-width: 1180px) {
	.calc-page > .calc-col {
		width: calc((100% - 14px) / 2) !important;
	}
}

@media (max-width: 760px) {
	.calc-page {
		padding: 6px 4px 12px;
		gap: 10px;
	}

	.calc-page > .calc-col {
		width: 100% !important;
	}
}

/* Unified visual layer for prod list and search result modules. */
.prod-list-page {
	border: 1px solid var(--vc-border) !important;
	border-radius: var(--vc-radius-lg);
	box-shadow: var(--vc-shadow);
	overflow: visible;
	background: var(--vc-surface-soft) !important;
	animation: vcFadeInDown .28s ease-out both;
}

.prod-list-header {
	background: linear-gradient(90deg, var(--vc-primary-600), var(--vc-primary-500)) !important;
	border-bottom: 1px solid rgba(0, 0, 0, .15);
}

.prod-list-title {
	font-weight: 700;
	letter-spacing: .2px;
}

.prod-list-actions input[type=button] {
	border: 1px solid #2d5369;
	background: var(--vc-primary-700);
	color: #fff;
	border-radius: 6px;
	padding: 5px 10px;
	font-weight: 700;
}

.prod-list-filter,
.prod-list-links,
.prod-list-stats {
	border: 1px solid var(--vc-border) !important;
	background: var(--vc-surface) !important;
	border-radius: var(--vc-radius-md);
	box-shadow: 0 1px 6px rgba(18, 39, 67, .08);
}

.prod-list-filter {
	border: 0 !important;
	background: transparent !important;
	border-radius: 0;
	box-shadow: none;
}

.prod-active-filters {
	padding: 8px 10px 0;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.prod-filter-chip {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	background: #edf3fa;
	border: 1px solid #c7d6e8;
	color: #24435f;
	font-size: 11px;
	line-height: 1.2;
}

.prod-list-page input[type=text],
.prod-list-page select,
.prod-list-page textarea {
	border: 1px solid var(--vc-primary-300);
	border-radius: 6px;
	background: #fff;
	color: var(--vc-text);
}

.prod-list-page input[type=submit],
.prod-list-page input[type=button] {
	border: 1px solid #2d5369;
	background: var(--vc-primary-700);
	color: #fff;
	border-radius: 6px;
	padding: 4px 10px;
	font-weight: 700;
}

.prod-list-page input[type=submit]:hover,
.prod-list-page input[type=button]:hover {
	background: #284f65;
}

.search-prod-page {
	border: 1px solid var(--vc-border) !important;
	border-radius: var(--vc-radius-lg);
	box-shadow: var(--vc-shadow);
	background: var(--vc-surface) !important;
	animation: vcFadeInDown .28s ease-out both;
	overflow: visible;
}

.search-prod-title {
	margin-bottom: 10px;
	padding: 6px 8px;
	border-radius: 8px;
	background: var(--vc-surface-soft);
	border-bottom: 0;
	color: var(--vc-text);
}

.search-prod-page .search_lombard_box.search-prod-card,
.prod-list-page .search_lombard_box.search-prod-card {
	border: 1px solid var(--vc-border);
	border-radius: 8px;
	box-shadow: 0 3px 12px rgba(18, 39, 67, .14);
	background: #fff;
	margin: 6px;
	width: calc(50% - 12px);
	height: 132px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	overflow: hidden !important;
	opacity: 0;
	transform: translateY(8px);
	animation: vcCardIn .32s ease-out forwards;
}

.search-prod-page .search_lombard_box.search-prod-card:nth-child(2n),
.prod-list-page .search_lombard_box.search-prod-card:nth-child(2n) {
	animation-delay: .04s;
}

.search-prod-page .search_lombard_box.search-prod-card:nth-child(3n),
.prod-list-page .search_lombard_box.search-prod-card:nth-child(3n) {
	animation-delay: .08s;
}

.prod-list-page .search_lombard_box.search-prod-card {
	width: calc((100% - 36px) / 3);
}

.search-prod-page .search_lombard_box.search-prod-card:hover,
.prod-list-page .search_lombard_box.search-prod-card:hover {
	border-color: #6b8fb3;
	background: #f6fbff;
	box-shadow: 0 5px 16px rgba(18, 39, 67, .18);
	z-index: 30;
}

.search-prod-page .search-prod-thumb,
.prod-list-page .search-prod-thumb {
	border-right: 1px solid var(--vc-border-soft) !important;
	position: relative;
	overflow: visible !important;
	height: 100% !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	border-radius: 8px 0 0 8px;
}

.search-prod-page .search-prod-meta,
.prod-list-page .search-prod-meta {
	float: left !important;
	width: calc(100% - 154px) !important;
	box-sizing: border-box;
	height: 100%;
}

.search-prod-page .search_lombard_box.search-prod-card > div.search-prod-thumb:hover,
.prod-list-page .search_lombard_box.search-prod-card > div.search-prod-thumb:hover {
	z-index: 50;
}

/* Keep card layout stable in scroll windows: disable legacy thumb expansion on hover. */
.search-prod-page .search_lombard_box.search-prod-card > div.search-prod-thumb:hover,
.prod-list-page .search_lombard_box.search-prod-card > div.search-prod-thumb:hover {
	margin-left: 0 !important;
	margin-top: 0 !important;
	width: 153px !important;
	height: 100% !important;
	position: relative !important;
	background-size: cover !important;
	border: 0 !important;
	border-right: 1px solid var(--vc-border-soft) !important;
	transition: none !important;
}

/* Override legacy zoom selector directly for search/prod list cards. */
.search-prod-page .search_lombard_box > div:not(.notboxs):first-child:hover,
.prod-list-page .search_lombard_box > div:not(.notboxs):first-child:hover {
	margin-left: 0 !important;
	margin-top: 0 !important;
	width: 153px !important;
	height: 100% !important;
	position: relative !important;
	background-size: cover !important;
	border: 0 !important;
	border-right: 1px solid var(--vc-border-soft) !important;
	z-index: 2 !important;
	transition: none !important;
}

#prodlist,
.search-prod-results {
	overflow: visible !important;
}

.search_lombard_box:hover {
	position: relative;
	z-index: 60;
}

.search_lombard_box > div:not(.notboxs):first-child:hover {
	z-index: 80;
}

.newproduct-start-card {
	background: var(--vc-surface) !important;
	border: 1px solid var(--vc-border) !important;
	border-radius: var(--vc-radius-lg);
	box-shadow: var(--vc-shadow);
	padding: 14px 16px;
	box-sizing: border-box;
}

.newproduct-start-wrap {
	max-width: 760px;
	margin: 10px auto;
}

.newproduct-start-title {
	font-size: 16px;
	line-height: normal;
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: 1px solid #ccc;
	color: var(--vc-text);
}

.newproduct-start-form {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border-radius: 10px;
	padding: 10px;
	border: 1px solid var(--vc-border-soft);
	margin-bottom: 10px;
}

.newproduct-start-form > div {
	margin-bottom: 8px;
}

.newproduct-start-form > div:last-child {
	margin-bottom: 0;
}

.newproduct-start-form label {
	color: #314a66;
	font-weight: 600;
}

.newproduct-input-short,
.newproduct-select-short {
	width: 120px !important;
	border: 1px solid var(--vc-border);
	border-radius: 6px;
	padding: 5px 7px;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(15, 31, 61, .08);
}

.newproduct-photo-card {
	border: 1px solid var(--vc-border-soft) !important;
	background: linear-gradient(180deg, #f0f7ff 0%, #e4eef9 100%) !important;
	border-radius: 12px;
	margin-top: 14px;
	margin-bottom: 14px;
	box-shadow: 0 2px 10px rgba(18, 39, 67, .06);
	overflow: visible;
}

.newproduct-photo-toggle {
	width: 100%;
	text-align: left;
	font-size: 15px;
	font-weight: 700;
	color: #17395b;
	background: linear-gradient(180deg, #edf5ff 0%, #dfeaf8 100%);
	border: 1px solid #cad9ec;
	border-radius: 10px;
	padding: 12px 44px 12px 14px;
	cursor: pointer;
	position: relative;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.newproduct-photo-toggle:hover {
	background: linear-gradient(180deg, #e8f2ff 0%, #d6e5f8 100%);
	border-color: #9db8d7;
	box-shadow: 0 2px 8px rgba(24, 77, 136, .14);
}

.newproduct-photo-toggle:after {
	content: '+';
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	line-height: 22px;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	color: #1f4f82;
	border: 1.5px solid #a8bfda;
	border-radius: 50%;
	background: #fff;
	transition: transform .25s ease;
}

.newproduct-photo-toggle.open:after {
	content: '\2212';
	transform: translateY(-50%) rotate(180deg);
}

.newproduct-photo-body {
	padding: 14px 16px 16px;
	border-top: 1px solid #d5e3f3;
	background: #fbfdff;
	border-radius: 0 0 10px 10px;
}

/* -- AI photo upload inner elements -- */
.aibrain-upload-hint {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);
	border: 1px solid #d0ddef;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 12px;
}

.aibrain-upload-hint-icon {
	flex-shrink: 0;
	font-size: 28px;
	line-height: 1;
}

.aibrain-upload-hint-text {
	font-size: 13px;
	line-height: 1.55;
	color: #253d5a;
}

.aibrain-upload-hint-text b {
	color: #14365f;
}

.aibrain-upload-example {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 1px dashed #bccfe4;
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 14px;
}

.aibrain-upload-example img {
	width: 90px;
	height: 68px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid #c8d8ea;
	flex-shrink: 0;
}

.aibrain-upload-example-text {
	font-size: 12px;
	line-height: 1.45;
	color: #5a7291;
}

.aibrain-upload-example-text b {
	color: #2c4e73;
}

.aibrain-file-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.aibrain-file-row input[type=file] {
	font-size: 13px;
}

.aibrain-file-row-note {
	font-size: 12px;
	color: #7a92aa;
	margin-top: 6px;
}

.newproduct-submit-row {
	padding-top: 2px;
}

.newproduct-help-block {
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px solid var(--vc-border-soft);
	border-radius: 8px;
	background: #f8fbff;
	line-height: 1.45;
	color: #2c4461;
}

@media (max-width: 820px) {
	.newproduct-start-wrap {
		max-width: 100%;
		margin: 6px auto;
	}

	.newproduct-start-card {
		padding: 10px;
	}

	.newproduct-start-form {
		padding: 8px;
	}
}

.search-prod-page .search-prod-doc,
.prod-list-page .search-prod-doc {
	color: var(--vc-link) !important;
	font-weight: 700;
}

@media (max-width: 1100px) {
	.search-prod-page .search_lombard_box.search-prod-card,
	.prod-list-page .search_lombard_box.search-prod-card {
		width: calc(100% - 12px);
	}
}

@keyframes vcFadeInDown {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes vcCardIn {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 1280px) {
	.prod-list-page .search_lombard_box.search-prod-card {
		width: calc(50% - 12px);
	}
}
