@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&subset=latin,greek,greek-ext,cyrillic,cyrillic-ext,latin-ext,vietnamese);

html {
	height: 100%;
}

body {
	height: 100%;
	margin: 0px;
	padding: 0px;
	font-size: 11px;
	font-family: "open sans";
	color: #444444;
	overflow: hidden;
}

a,
a:hover { text-decoration: none; color: #2b82d4; }
b, strong{ font-weight: 600; }

*:focus { outline: 0; }

/*#################################################*/
/* FIX
/*#################################################*/

.clearfix { display: table; width: 100%; height: 100%; }

/*#################################################*/
/* INPUTBOXES, SELECT
/*#################################################*/

.flex_wrap {
	display: flex;
	gap: 30px;
	margin-bottom: 10px;
	align-items: center;
}

.flex_wrap_calendar {
	width: 200px;
	display: flex;
	align-items: center;
}

button { font-size: 11px; }
input.checkbox { vertical-align: middle;}
input[type="checkbox"] {
	height: 14px;
	margin: 5px 0 5px 0;
}
.inputbox { width: 100%; padding: 0 5px;}
textarea.inputbox { padding: 5px; }
input, textarea {
	-webkit-box-sizing: border-box;‌​
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
input.color,
input.color:focus,
input.color:hover { border: none; }
input,
select,
.inputbox,
.textarea {
	margin: 0;
	height: 24px;
	border: 1px solid #f5f5f5;
	font-size: 11px;
	font-family: "open sans";
	color: #444444;
	background: #f5f5f5;
}
optgroup,
option {
	font-family: "open sans";
	color: #444444;
}
optgroup {
	font-style: normal;
	font-weight: 600;
}
input:focus,
textarea:focus,
select:focus { background-color: #ffffff; }
input:hover,
textarea:hover,
select:hover { background-color: #ffffff; }
input:disabled,
textarea:disabled,
select:disabled { border: 1px solid #eeeeee; background-color: #eeeeee; }
.inputbox-calendar,
.inputbox-calendar-mmdd{
	color: #444444;
	border: 1px solid #f5f5f5;
	-webkit-inline-box: none;
	background: #f5f5f5 url("images/calendar.svg") right no-repeat;
	background-size: 14px 14px;
}
.inputbox-calendar:disabled,
.inputbox-calendar-mmdd:disabled{ -webkit-inline-box: none; background: #eeeeee url("images/calendar.svg") right no-repeat; background-size: 14px 14px;}
.inputbox-search {
	width: 100%;
	height: 28px;
	text-indent: 30px;
	background: #f5f5f5 url("images/search.svg") 10px center no-repeat;
	background-size: 14px 14px;
	float: left;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #999999;
}
::-moz-placeholder { /* Firefox 19+ */
	color: #999999;
}
:-ms-input-placeholder { /* IE 10+ */
	color: #999999;
}
:-moz-placeholder { /* Firefox 18- */
	color: #999999;
}

/*#################################################*/
/* BUTTONS
/*#################################################*/

.panel-button img {
	display: block;
	padding: 6px;
	background: #f5f5f5;
}

.panel-button img:hover {
	background: #ffffff;
}

input.button {
	border: 1px solid #f5f5f5;
	background-color: #f5f5f5;
	height: 24px;
	min-width: 80px;
	color: #444444;
	cursor: pointer;
	text-align: center;
	margin-bottom: 0px;
	padding: 0 5px;
}
input.button.icon {
	text-align: center;
	padding-left: 26px;
	padding-right: 10px;
	margin-bottom: 0;
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 10px 10px;
}
input.button-32 {
	border: 1px solid #f5f5f5;
	background-color: #f5f5f5;
	height: 32px;
	min-width: 80px;
	color: #444444;
	cursor: pointer;
	text-align: center;
	margin-bottom: 0px;
	padding: 0 5px;
}
input.button-32.icon-16 {
	text-align: center;
	padding-left: 32px;
	padding-right: 10px;
	margin-bottom: 0;
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 16px 16px;
}
input.button.no-text.icon {
	background-position: center center;
	padding: 0px;
}
input.button:hover { background-color: #ffffff; }
input.button:active { background-color: #ffffff; }
input.button:disabled { border: 1px solid #eeeeee; background-color: #eeeeee; }

input.button-32:hover { background-color: #ffffff; }
input.button-32:active { background-color: #ffffff; }
input.button-32:disabled { border: 1px solid #eeeeee; background-color: #eeeeee; }

input.button.panel {
	border: 1px solid #ffffff;
	background-color: #ffffff;
}
input.button.panel:hover { border: 1px solid #e5e5e5; background-color: #e5e5e5; }
input.button.panel:active { border: 1px solid #e5e5e5; background-color: #e5e5e5; }

/*#################################################*/
/* ICONS
/*#################################################*/

.icon-new { background-image: url(images/plus.svg); }
.icon-save { background-image: url(images/save.svg); }
.icon-follow { background-image: url(images/follow.svg); }
.icon-street { background-image: url(images/street-view.svg); }
.icon-create { background-image: url(images/create.svg); }
.icon-share { background-image: url(images/share.svg); }
.icon-show { background-image: url(images/eye.svg); }
.icon-hide { background-image: url(images/eye-crossed.svg); }
.icon-close { background-image: url(images/remove.svg); }
.icon-edit { background-image: url(images/edit.svg); }
.icon-search { background-image: url(images/search2.svg); }
.icon-time { background-image: url(images/history.svg); }
.icon-refresh { background-image: url(images/refresh.svg); }
.icon-check { background-image: url(images/tick.svg); }
.icon-play { background-image: url(images/play.svg); }
.icon-import { background-image: url(images/import.svg); }
.icon-export { background-image: url(images/export.svg); }
.icon-arrow-right { background-image: url(images/arrow-right.svg); }
.icon-import-arrow { background-image: url(images/import-arrow.svg); }
.icon-export-arrow { background-image: url(images/export-arrow.svg); }
.icon-import-export { background-image: url(images/import-export.svg); }
.icon-upload { background-image: url(images/upload.svg); }
.icon-erase { background-image: url(images/erase.svg); }
.icon-spinner { background-image: url(images/loading-gear.gif); }
.icon-tick { background-image: url(images/tick.svg); }
.icon-remove3 { background-image: url(images/remove3.svg); }
.icon-action2 { background-image: url(images/action2.svg); }
.icon-key { background-image: url(images/key.svg); }
.icon-marker { background-image: url(images/marker.svg); }
.icon-markers { background-image: url(images/markers.svg); }
.icon-routes { background-image: url(images/routes.svg); }
.icon-zones { background-image: url(images/zones.svg); }
.icon-kml { background-image: url(images/kml.svg); }
.icon-tasks { background-image: url(images/tasks.svg); }
.icon-maintenance { background-image: url(images/maintenance.svg); }
.icon-gallery { background-image: url(images/gallery.svg); }

.icon-time { background-image: url(images/time.svg); }
.icon-warning { background-image: url(images/warning.svg); }
.icon-nearest-marker { background-image: url(images/nearest-marker.svg); }
.icon-nearest-zone { background-image: url(images/nearest-zone.svg); }
.icon-address { background-image: url(images/address.svg); }
.icon-altitude { background-image: url(images/altitude.svg); }
.icon-angle { background-image: url(images/angle.svg); }
.icon-speed { background-image: url(images/speed.svg); }
.icon-engine-hours { background-image: url(images/engine-hours.svg); }
.icon-odometer { background-image: url(images/odometer.svg); }
.icon-model { background-image: url(images/model.svg); }
.icon-plate-number { background-image: url(images/plate-number.svg); }
.icon-sim { background-image: url(images/sim.svg); }
.icon-vin { background-image: url(images/vin.svg); }
.icon-user { background-image: url(images/user.svg); }
.icon-trailer { background-image: url(images/trailer.svg); }
.icon-default-custom-fields { background-image: url(images/default-custom-fields.svg); }
.icon-default-sensor { background-image: url(images/default-sensor.svg); }
.icon-status { background-image: url(images/status.svg); }
.icon-battery-lev-0 { background-image: url(images/battery-lev-0.svg); }
.icon-battery-lev-1 { background-image: url(images/battery-lev-1.svg); }
.icon-battery-lev-2 { background-image: url(images/battery-lev-2.svg); }
.icon-battery-lev-3 { background-image: url(images/battery-lev-3.svg); }
.icon-di { background-image: url(images/di.svg); }
.icon-do { background-image: url(images/do.svg); }
.icon-fuel { background-image: url(images/fuel.svg); }
.icon-engine { background-image: url(images/engine.svg); }
.icon-gsm { background-image: url(images/gsm.svg); }
.icon-gps { background-image: url(images/gps.svg); }
.icon-temperature { background-image: url(images/temperature.svg); }
.icon-billing { background-image: url(images/billing.svg); }
.icon-project {
	background-image: url(images/logbook.svg);
}

.icon-spiner {
	background-image: url(images/loading-gear.gif);
	text-align: center;
	padding-left: 26px !important;
	padding-right: 10px !important;
	margin-bottom: 0;
	background-repeat: no-repeat;
	background-position: 8px center;
	background-size: 13px 13px;
}

.leaflet-control-zoom-in,
.leaflet-control-zoom-out,
.leaflet-control a span,
.history-view-control span {
	display: table;
	width: 100%;
	height: 100%;
	background-size: 12px 12px;
	background-repeat: no-repeat;
	background-position: center center;
}

.history-view-control span.icon-close {
	background-size: 10px 10px;
}

.leaflet-control a span.disabled,
.history-view-control a span.disabled {
	opacity: 0.5;
}

.icon-route-route { background-image: url(images/route-route.svg); }
.icon-route-snap { background-image: url(images/route-snap.svg); }
.icon-route-arrow { background-image: url(images/route-arrow.svg); }
.icon-route-data-point { background-image: url(images/route-data-point.svg); }
.icon-route-event { background-image: url(images/route-event.svg); }
.icon-route-stop { background-image: url(images/route-stop.svg); }

.leaflet-control-zoom-in { background-image: url(images/plus.svg); }
.leaflet-control-zoom-out { background-image: url(images/minus.svg); }
.icon-objects { background-image: url(images/object-arrow.svg); }
.icon-text { background-image: url(images/text.svg); }
.icon-clusters { background-image: url(images/clusters.svg); }
.icon-traffic { background-image: url(images/traffic.svg); }
.icon-fit-objects { background-image: url(images/fit.svg); }
.icon-ruler { background-image: url(images/ruler.svg); }
.icon-measure { background-image: url(images/measure.svg); }

.icon-places-marker,
.icon-object-edit {
	position: relative;
	width: 44px;
}

.icon-custom-delete {
	position: absolute;
	bottom: 0px;
	right: 0px;
}

/*#################################################*/
/* DIMENSIONS
/*#################################################*/

.width1 { width: 1%; }
.width2 { width: 2%; }
.width4 { width: 4%; }
.width5 { width: 5%; }
.width8 { width: 8%; }
.width9 { width: 9%; }
.width10 { width: 10%; }
.width11 { width: 11%; }
.width12 { width: 12%; }
.width13 { width: 13%; }
.width14 { width: 14%; }
.width15-left { width: 15%; float: left; }
.width15 { width: 15%; }
.width16 { width: 16%; }
.width17 { width: 17%; }
.width18 { width: 18%; }
.width19 { width: 19%; }
.width195 { width: 19.5%; }
.width20 { width: 20%; }
.width21 { width: 21%; }
.width235 { width: 23.5%; }
.width24 { width: 24%; }
.width245 { width: 24.5%; }
.width25 { width: 25%; }
.width27 { width: 27%; }
.width28 { width: 28%; }
.width29 { width: 29%; }
.width30 { width: 30%; }
.width31 { width: 31%; }
.width33 { width: 33.33333%; }
.width34 { width: 34%; }
.width35 { width: 35%; }
.width38 { width: 38%; }
.width39 { width: 39%; }
.width40 { width: 40%; }
.width41 { width: 41%; }
.width44 { width: 44%; }
.width45 { width: 45%; }
.width50 { width: 50%; }
.width55 { width: 55%; }
.width60 { width: 60%; }
.width65 { width: 65%; }
.width66 { width: 66%; }
.width70 { width: 70%; }
.width71 { width: 71%; }
.width75 { width: 75%; }
.width755 { width: 75.5%; }
.width76 { width: 76%; }
.width765 { width: 76.5%; }
.width80 { width: 80%; }
.width805 { width: 80.5%; }
.width83 { width: 83%; }
.width85 { width: 85%; }
.width90 { width: 90%; }
.width95 { width: 95%; }
.width100 { width: 100%; }
.width-1000 { max-width: 1000px; }

/*#################################################*/
/* FLOATING AND SPACING
/*#################################################*/

.float-left,
.block { float: left; }
.float-right { float: right; }
.container { margin-right: 10px; }
.container.last,
.last .title-block,
.container.last fieldset { margin-right: 0; }
.container.prev { margin-left: 10px; }
.absolute-right { position: absolute; right: 10px; top: 36px; margin: 0; }

/*#################################################*/
/* TABLELESS STYLING
/*#################################################*/

.row { margin-bottom: 10px; display: table; width: 100%; } /* FIX if something goes wrong with css. This row doesn't have vertical alignment, suitable just to split lines and add spacing at the bottom */
.row2 { margin-bottom: 3px; display: table; width: 100%; text-align: left; line-height: 12px; font-size: 0; }
input:focus:invalid  {
	border-color: red;
}
.row2 div { display: inline-block; vertical-align: middle; font-size: 11px;} /* display: table-cell; */
.row2.empty,
.row2.text { height: 24px; }
.row2.right { text-align: right; }
.row3 { margin-bottom: 10px; display: table; width: 100%; line-height: 12px; font-size: 0; }
.row3 div { display: inline-block; vertical-align: middle; font-size: 11px; } /* display: table-cell; */
.row4 { margin-bottom: 0px; display: table; width: 100%; text-align: left; line-height: 12px; font-size: 0; }
.row4 div { display: inline-block; vertical-align: middle; font-size: 11px;} /* display: table-cell; */

.scroll-y { height: 100%; padding-right: 5px; overflow-y: scroll }

.title-block {
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 1px solid #f5f5f5;
	font-weight: 600;
	font-size: 12px;
	color: #2b82d4;
}

.table {
	display: table;
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}

.table-cell {
	display: table-cell;
	margin: 0;
	padding: 0;
}

.center-middle {
	vertical-align: middle;
	text-align: center;
}

.margin-right-3 {
	margin-right: 3px;
}

.margin-left-3 {
	margin-left: 3px;
}

/*#################################################*/
/* LOADING AND BLOCKING PANELS
/*#################################################*/

#loading_panel {
	background-color: #ffffff;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	width: 100%;
	height: 100%;
	z-index: 99999;
}

#loading_data_panel {
	background-color: #FFFFFF;
	opacity: 0.6;
	filter: Alpha(Opacity=30);
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	width: 100%;
	height: 100%;
	z-index: 99999;
}

#blocking_panel {
	background-color: rgba(170, 170, 170, 0.3);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 99999;
}

#blocking_panel_text { background-color: #ffffff; padding: 20px; }

/*#################################################*/
/* LOADER
/*#################################################*/

.loader {
	width: 70px;
	display: block;
	margin: 25px auto;
}

.loader span {
	float: left;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	margin-right: 2px;
	background: #676767;
	opacity: 0.1;
	animation: loader 0.7s infinite alternate;
}

.loader span:nth-of-type(2) {
	animation-delay: 0.2s;
}
.loader span:nth-of-type(3) {
	animation-delay: 0.3s;
}
.loader span:nth-of-type(4) {
	animation-delay: 0.4s;
}
.loader span:nth-of-type(5) {
	animation-delay: 0.5s;
}
.loader span:nth-of-type(6) {
	animation-delay: 0.6s;
}
.loader span:nth-of-type(7) {
	animation-delay: 0.7s;
}

@keyframes loader {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0.1;
	}
}

/*#################################################*/
/* SPINNER
/*#################################################*/

.spinner {
	font-size: 2px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	-webkit-animation: load5 1.1s infinite ease;
	animation: load5 1.1s infinite ease;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
@-webkit-keyframes load5 {
	0%,
	100% { box-shadow: 0em -2.6em 0em 0em #a7a7a7, 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.5), -1.8em -1.8em 0 0em rgba(167,167,167, 0.7); }
	12.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.7), 1.8em -1.8em 0 0em #a7a7a7, 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.5); }
	25% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.5), 1.8em -1.8em 0 0em rgba(167,167,167, 0.7), 2.5em 0em 0 0em #a7a7a7, 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	37.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.5), 2.5em 0em 0 0em rgba(167,167,167, 0.7), 1.75em 1.75em 0 0em #a7a7a7, 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	50% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.5), 1.75em 1.75em 0 0em rgba(167,167,167, 0.7), 0em 2.5em 0 0em #a7a7a7, -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	62.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.5), 0em 2.5em 0 0em rgba(167,167,167, 0.7), -1.8em 1.8em 0 0em #a7a7a7, -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	75% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.5), -1.8em 1.8em 0 0em rgba(167,167,167, 0.7), -2.6em 0em 0 0em #a7a7a7, -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	87.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.5), -2.6em 0em 0 0em rgba(167,167,167, 0.7), -1.8em -1.8em 0 0em #a7a7a7; }
}
@keyframes load5 {
	0%,
	100% { box-shadow: 0em -2.6em 0em 0em #a7a7a7, 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.5), -1.8em -1.8em 0 0em rgba(167,167,167, 0.7); }
	12.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.7), 1.8em -1.8em 0 0em #a7a7a7, 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.5); }
	25% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.5), 1.8em -1.8em 0 0em rgba(167,167,167, 0.7), 2.5em 0em 0 0em #a7a7a7, 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	37.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.5), 2.5em 0em 0 0em rgba(167,167,167, 0.7), 1.75em 1.75em 0 0em #a7a7a7, 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	50% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.5), 1.75em 1.75em 0 0em rgba(167,167,167, 0.7), 0em 2.5em 0 0em #a7a7a7, -1.8em 1.8em 0 0em rgba(167,167,167, 0.2), -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	62.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.5), 0em 2.5em 0 0em rgba(167,167,167, 0.7), -1.8em 1.8em 0 0em #a7a7a7, -2.6em 0em 0 0em rgba(167,167,167, 0.2), -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	75% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.5), -1.8em 1.8em 0 0em rgba(167,167,167, 0.7), -2.6em 0em 0 0em #a7a7a7, -1.8em -1.8em 0 0em rgba(167,167,167, 0.2); }
	87.5% { box-shadow: 0em -2.6em 0em 0em rgba(167,167,167, 0.2), 1.8em -1.8em 0 0em rgba(167,167,167, 0.2), 2.5em 0em 0 0em rgba(167,167,167, 0.2), 1.75em 1.75em 0 0em rgba(167,167,167, 0.2), 0em 2.5em 0 0em rgba(167,167,167, 0.2), -1.8em 1.8em 0 0em rgba(167,167,167, 0.5), -2.6em 0em 0 0em rgba(167,167,167, 0.7), -1.8em -1.8em 0 0em #a7a7a7; }
}

/*#################################################*/
/* JQGRID.CSS OVERRIDE
/*#################################################*/

.ui-jqgrid .loading {background: #ffffff; font-weight: normal;}
.ui-jqgrid .ui-jqgrid-bdiv {position: relative; margin: 0em; padding:0; overflow: auto; text-align:left; overflow-y: scroll; overflow-x: scroll;}
.ui-jqgrid tr.ui-row-ltr td {text-align:left;border-right-width: 0px; border-right-color: inherit; border-right-style: solid; border-color: #f5f5f5}
.ui-jqgrid .ui-jqgrid-pager { border-left: 0px none !important; border-right: 0px none !important; border-bottom: 0px none !important; position: relative; white-space: nowrap; overflow: hidden; }
.ui-jqgrid .ui-jqgrid-pager { background: #f5f5f5; border-top: 0px solid #e5e5e5; margin: 3px -15px -15px -15px !important; padding: 3px 15px 0px 15px !important; height: 25px; }
.ui-jqgrid .ui-jqgrid-pager { font-size: 11px; }
.ui-jqgrid .ui-pg-table td {font-weight:normal; vertical-align:middle; padding:0px;}
.ui-jqgrid .ui-pg-button  {border-left: 1px hidden; border-right: 1px hidden; border-top: 0px; border-bottom: 0px; height:19px !important;}
.ui-jqgrid .ui-state-disabled:hover {padding:0px;}
.ui-jqgrid .ui-jqgrid-view { font-size: 11px;}
.ui-jqgrid .ui-jqgrid-titlebar { margin: 0 0 10px 0; padding: 0; }
.ui-jqgrid .ui-jqgrid-htable th div { height: auto; }
.ui-jqgrid .ui-jqgrid-hdiv { margin: 0 0 3px 0; background: #f5f5f5; clear: both; }
.ui-jqgrid .ui-jqgrid-hdiv thead { font-size: 12px; height: 24px; }
.ui-jqgrid .ui-jqgrid-htable th {height:13px;}
.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column { height: 24px; }
.ui-th-ltr, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr { border-left: 1px solid #e5e5e5; padding-top: 0px; }
.ui-th-ltr:first-child, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr:first-child { border-left: none; }
.ui-jqgrid .ui-icon-asc,
.ui-jqgrid .ui-icon-desc { margin-left: 7px; margin-top:7px; height:5px; width: 10px; }
.ui-jqgrid .ui-pg-input { font-size: 11px; height: 18px; margin: 2px 0; text-align: center; }
.ui-jqgrid .ui-pg-selbox { display: block; font-size: 11px; height: 18px; line-height: 18px; margin: 0; }
.ui-jqgrid .ui-separator { height: 0; border: none; }
.ui-jqgrid .ui-pg-table { padding: 0; }
.ui-jqgrid tr.jqgrow td { padding: 1px 2px; height: 19px;}
.ui-jqgrid tr.ui-row-ltr td span { display: inline-block; height: 17px; }
.ui-jqgrid tr.ui-row-ltr td span.status { color: #808080; font-size: 11px; }
.ui-jqgrid .ui-jqgrid-btable {table-layout:auto; margin:3px 0 0 0; outline-style: none;}
.ui-jqgrid .ui-state-hover { background: #f5f5f5; opacity: 0.9; }
.ui-jqgrid th.ui-state-hover { background: none; }
.ui-jqgrid .ui-state-highlight, .ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight { background: #f5f5f5; opacity: 0.9; }

/*#################################################*/
/* JQGRID PAGER
/*#################################################*/

.ui-pg-div .ui-icon-plus { background: #2b82d4 url(images/plus-white.svg ) center center no-repeat; padding: 6px; background-size: 10px 10px; }
.ui-pg-div .ui-icon-import { background: url(images/import.svg ) center center no-repeat; background-size: auto 14px; width: 24px; }
.ui-pg-div .ui-icon-export { background: url(images/export.svg ) center center no-repeat; background-size: auto 14px; width: 24px; }
.ui-pg-div .ui-icon-action { background: url(images/action2.svg ) center center no-repeat; background-size: auto 14px; width: 24px; }
.ui-pg-div .ui-icon-delete-all { background: url(images/remove.svg ) center center no-repeat; background-size: 10px 10px; width: 24px; }
.ui-jqgrid .ui-jqgrid-pager .ms-choice { margin-top: -6px; }

#cpanel #cpanel_user_list .ui-pg-div .ui-icon-plus,
#cpanel #cpanel_object_list .ui-pg-div .ui-icon-plus,
#cpanel #cpanel_unused_object_list .ui-pg-div .ui-icon-plus,
#cpanel #cpanel_billing_plan_list .ui-pg-div .ui-icon-plus,
#cpanel #dialog_user_edit .ui-pg-div .ui-icon-plus,
#dialog_settings .ui-pg-div .ui-icon-plus,
#dialog_settings_object_edit .ui-pg-div .ui-icon-plus,
#dialog_share_position .ui-pg-div .ui-icon-plus,
#dialog_reports .ui-pg-div .ui-icon-plus,
#dialog_tasks .ui-pg-div .ui-icon-plus,
#dialog_cmd .ui-pg-div .ui-icon-plus,
#dialog_maintenance .ui-pg-div .ui-icon-plus,
#dialog_expenses .ui-pg-div .ui-icon-plus,
#dialog_places_groups .ui-pg-div .ui-icon-plus,
#dialog_billing .ui-pg-div .ui-icon-plus {
	margin: -4px 0px -5px -15px;
}

#dialog_billing .ui-pg-div .ui-icon-plus {
	background-color: #9cc602;
}

#side_panel .ui-jqgrid .ui-jqgrid-pager,
#bottom_panel .ui-jqgrid .ui-jqgrid-pager
{
	border-top: none;
	padding-left: 10px !important;
	padding-right: 10px !important;
	margin-left: -10px !important;
	margin-bottom: 0px !important;
}

#dialog_image_gallery .ui-jqgrid .ui-jqgrid-pager
{
	margin-top: 10px !important;
	padding-right: 12px !important;
}

/*#################################################*/
/* FORM
/*#################################################*/
.wasl-box {
	margin: 0;
}

#dialog_user_edit_identityNumber,
#dialog_user_edit_commercial_record_number,
#dialog_user_edit_commercial_record_issueDateHijri,
#dialog_user_edit_phone_number,
#dialog_user_email,
#dialog_user_edit_manager_mobile_number,
#dialog_user_edit_manager_phone_number,
#dialog_user_edit_manager_name,
#dialog_user_edit_extension_number {
	border-radius: 3px;
}

.wasl_form_box {
	display: flex;
	align-items: center;
	color: red;
	padding: 5px 0;
}

.wasl-img {
	width: 14px;
	margin-right: 4px;
}

/*#################################################*/
/* JQGRID CUSTOM
/*#################################################*/

.ui-jqgrid-btable a img
{
	padding: 0 2px;
}

.ui-jqgrid-btable img
{
	width: 14px;
}

.ui-jqgrid .tree-wrap-ltr
{
	float: right;
	margin-top: 0px;
	margin-right: 1px;
	margin-left: 8px;
}


#cpanel .ui-jqgrid tr.ui-row-ltr td { padding: 3px; }
/*#cpanel .ui-jqgrid .ui-jqgrid-title { float: right; margin: auto; }
#cpanel .ui-jqgrid .ui-jqgrid-titlebar { margin-bottom: 12px; }*/

#cpanel_user_list .ui-jqgrid .ui-jqgrid-title,
#cpanel_object_list .ui-jqgrid .ui-jqgrid-title,
#cpanel_unused_object_list .ui-jqgrid .ui-jqgrid-title,
#cpanel_billing_plan_list .ui-jqgrid .ui-jqgrid-title {
	float: right; margin: auto;
}

#cpanel_user_list .ui-jqgrid .ui-jqgrid-titlebar,
#cpanel_object_list .ui-jqgrid .ui-jqgrid-titlebar,
#cpanel_unused_object_list .ui-jqgrid .ui-jqgrid-titlebar,
#cpanel_billing_plan_list .ui-jqgrid .ui-jqgrid-titlebar {
	margin-bottom: 12px;
}

#gview_image_gallery_list_grid,
#gview_chat_object_list_grid,
#gview_settings_object_sensor_calibration_list_grid,
#gview_settings_object_sensor_dictionary_list_grid,
#gview_settings_event_param_sensor_condition_list_grid,
#gview_cpanel_manage_server_theme_list_grid,
#gview_cpanel_manage_server_custom_map_list_grid,
#gview_cpanel_manage_server_log_list_grid,
#gview_cpanel_manage_server_billing_plan_list_grid,
#gview_cpanel_manage_server_language_list_grid,
#gview_cpanel_manage_server_template_list_grid
{ border-bottom: 1px solid #f5f5f5; padding-bottom: 3px; }

.ui-jqgrid .ui-jqgrid-htable th#side_panel_objects_object_list_grid_show,
.ui-jqgrid .ui-jqgrid-htable th#side_panel_places_marker_list_grid_show,
.ui-jqgrid .ui-jqgrid-htable th#side_panel_places_route_list_grid_show,
.ui-jqgrid .ui-jqgrid-htable th#side_panel_places_zone_list_grid_show,
.ui-jqgrid .ui-jqgrid-htable th#side_panel_history_route_detail_list_grid_icon,
.ui-jqgrid .ui-jqgrid-htable th#chat_object_list_grid_icon
{ border-left: none; }

#gview_dialog_user_edit_subaccount_list_grid .ui-jqgrid-bdiv input[type=text]
{height: 17px; width: 100%; border: 0px; text-align: center;}

#gview_dialog_subaccounts_subaccount_list_grid .ui-jqgrid-bdiv input[type=text]
{height: 17px; width: 100%; border: 0px; text-align: center;}

#cpanel #cpanel_user_list .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #cpanel_object_list .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #cpanel_unused_object_list .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #cpanel_billing_plan_list .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #cpanel_manage_server .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #dialog_user_edit .ui-jqgrid .ui-jqgrid-hdiv,
#cpanel #dialog_subaccounts .ui-jqgrid .ui-jqgrid-hdiv
{ padding: 4px 0; }


#cpanel_user_list_grid,
#cpanel_object_list_grid,
#cpanel_unused_object_list_grid,
#cpanel_billing_plan_list_grid,
#gview_cpanel_user_list_grid .ui-jqgrid-htable,
#gview_cpanel_object_list_grid .ui-jqgrid-htable,
#gview_cpanel_unused_object_list_grid .ui-jqgrid-htable,
#gview_cpanel_billing_plan_list_grid .ui-jqgrid-htable {
	table-layout: fixed !important;
}

#gview_cpanel_user_list_grid .ui-jqgrid-btable td,
#gview_cpanel_object_list_grid .ui-jqgrid-btable td,
#gview_cpanel_unused_object_list_grid .ui-jqgrid-btable td,
#gview_cpanel_billing_plan_list_grid .ui-jqgrid-btable td,
#gview_cpanel_user_list_grid .ui-jqgrid-htable th div,
#gview_cpanel_object_list_grid .ui-jqgrid-htable th div,
#gview_cpanel_unused_object_list_grid .ui-jqgrid-htable th div,
#gview_cpanel_billing_plan_list_grid .ui-jqgrid-htable th div {
	white-space: nowrap;
}

/*#################################################*/
/* LOGIN PAGE
/*#################################################*/

body#login {
	background-image: url(../img/login-background.jpg);
	background-position: center center;
	background-size: cover;
	background-color: #ffffff;
	display: table;
	overflow: auto;
	width: 100%;
}
#login .wrapper {
	display: table-cell;
	vertical-align: middle;
}
#login .wrapper .inner-wrapper {
	width: 450px;
	padding: 20px;
	margin: 50px auto;
	background: #ffffff;
	opacity: 0.9;
}
#login .wrapper .inner-wrapper .content {
	height: 250px;
	width: 100%;
	overflow: hidden;
}
#login .wrapper .inner-wrapper .content .content-block {
	height: 250px;
}
#login .logo-block {
	margin-left: calc(50% - 23px);
}
#login .logo {
	margin-bottom: 20px;
	width: unset;
	border: unset;
}
#login .registration-closed {
	padding: 15px;
	background: #fab444;
	color: #ffffff;
	font-weight: bold;
	margin-bottom: 10px;
}
#login .server-select .ms-choice {
	background-image: url(images/server.svg);
	background-position: 15px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	height: 48px;
}
#login .server-select .ms-choice span {
	top: 12px;
	padding-left: 51px;
}
#login .server-select .ms-choice div {
	top: 14px;
}
#login .server-select .ms-drop {
	margin-top: 24px;
}
#login input.inputbox {
	height: 48px;
	background-color: #f5f5f5;
	border: 1px solid #f5f5f5;
	width: 100%;
	padding-left: 50px;
}
#login input.inputbox:hover {
	background-color: #ffffff; }
#login .icon {
	float: left;
	width: 48px;
	height: 48px;
	background-position: 15px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
}
.icon.icon-user { background-image: url(images/user.svg); }
.icon.icon-email { background-image: url(images/email.svg); }
.icon.icon-password { background-image: url(images/password.svg); }
.icon.icon-code { background-image: url(images/shield.svg); }

#login .wrapper .content-block input.button {
	background: #2b82d4;
	color: #ffffff;
	border: none;
	padding: 5px;
	height: 50px;
	width: 100%;
	font-weight: bold;
}
#login input.button:hover { opacity: 0.9; }
#login .content-block .reveal {
	position: absolute;
	right: 15px;
	top: 14px;
	width: 20px;
	height: 20px;
	background: url(images/eye-crossed.svg) center center no-repeat;
	background-size: 16px 16px;
	cursor: pointer;
}
#login .content-block .reveal.hide {
	background: url(images/eye.svg) center center no-repeat;
	background-size: 16px 16px;
}
#login .content-block .security-code {
	position: absolute;
	top: 15px;
	right: 10px;
}
#login .wrapper .content-block .submit-btn {
	position: relative;
}
#login .wrapper .content-block .submit-btn .remember-block {
	position: absolute;
	z-index: 1;
	top: 15px;
	right: 15px;
}
#login .submit-btn .remember-block input { display: none; }
#login .submit-btn .remember-block .custom-checkbox {
	cursor: pointer;
	width: 16px;
	height: 16px;
	background: url(images/lock-open.svg) center center no-repeat;
	background-size: 16px 16px;
	display: block;
}
#login .submit-btn .remember-block .custom-checkbox.checked {
	background: url(images/lock-closed.svg) center center no-repeat;
	background-size: 16px 16px;
}
#login .recover-register-block {
	text-align: center;
	padding: 0;
	margin: 35px 0;
}
#login .recover-register-block li {
	display: inline-block;
	list-style: none;
}
#login .recover-register-block li a {
	font-weight: bold;
	color: #676767;
}
#login .footer {
	height: 25px;
	padding-top: 10px;
	border-top: 1px solid #e4e4e4;
}
#login .footer.login-footer {
	height: auto;
	min-height: 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
}
#login .login-footer-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 14px;
	min-width: 0;
}
#login .footer .mobile-v,
#login .footer .new-iot-design-link {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	color: #676767;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease;
}
#login .footer .mobile-v {
	padding-left: 20px;
	background-image: url(images/mobile.svg);
	background-position: left center;
	background-size: 16px 16px;
	background-repeat: no-repeat;
}
#login .footer .new-iot-design-link {
	position: relative;
	padding-left: 15px;
}
#login .footer .new-iot-design-link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	bottom: 5px;
	width: 1px;
	background: #d8d8d8;
}
#login .footer .mobile-v:hover,
#login .footer .mobile-v:focus,
#login .footer .new-iot-design-link:hover,
#login .footer .new-iot-design-link:focus {
	color: #2b82d4;
}
#login .footer .mobile-v:focus-visible,
#login .footer .new-iot-design-link:focus-visible {
	outline: 1px dotted #2b82d4;
	outline-offset: 2px;
}
#login .login-footer-language {
	flex: 0 0 auto;
	margin-left: auto;
}
#login .login-footer-language .select {
	float: none;
}
#login .footer input.button.mobile-v { border: none; padding: none; }
#login .footer input.button.mobile-v:hover { color: #2b82d4; background: none; }
#login .text { border-top: none; }

/* Classic login notice for the new AlRakeen UX/UI platform. */
#login .dialog-new-platform.ui-dialog {
	max-width: calc(100vw - 24px);
	border: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.3);
	box-sizing: border-box;
}
#login .dialog-new-platform .ui-dialog-titlebar {
	height: auto;
	min-height: 42px;
	padding: 10px 44px 10px 18px;
	line-height: 22px;
	box-sizing: border-box;
}
#login .dialog-new-platform .ui-dialog-title {
	width: 100%;
	margin: 0;
	white-space: normal;
	line-height: 22px;
}
#login .dialog-new-platform .ui-dialog-titlebar-close {
	top: 50%;
	right: 12px;
	margin-top: -10px;
}
#login .dialog-new-platform .ui-dialog-content {
	padding: 0;
	overflow: visible;
	background: #ffffff;
}
#dialog_new_platform .new-platform-popup-content {
	padding: 24px 30px 20px;
	color: #3f3f3f;
	text-align: center;
	box-sizing: border-box;
}
#dialog_new_platform .new-platform-popup-badge {
	display: inline-block;
	margin-bottom: 16px;
	padding: 5px 11px;
	border-radius: 14px;
	background: #eaf4fd;
	color: #2b82d4;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 16px;
}
#dialog_new_platform .new-platform-popup-language {
	text-align: left;
}
#dialog_new_platform .new-platform-popup-language-ar {
	direction: rtl;
	text-align: right;
}
#dialog_new_platform .new-platform-popup-language-title {
	margin: 0 0 6px;
	color: #333333;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.45;
}
#dialog_new_platform .new-platform-popup-message {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
}
#dialog_new_platform .new-platform-popup-divider {
	height: 1px;
	margin: 15px 0;
	background: #e4e4e4;
}
#dialog_new_platform .new-platform-popup-link-row {
	margin: 19px 0 16px;
}
#dialog_new_platform .new-platform-popup-link {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	color: #2b82d4;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5;
	text-decoration: none;
	overflow-wrap: anywhere;
}
#dialog_new_platform .new-platform-popup-link span {
	text-decoration: underline;
	text-underline-offset: 3px;
}
#dialog_new_platform .new-platform-popup-link:hover,
#dialog_new_platform .new-platform-popup-link:focus {
	color: #1f66a8;
}
#dialog_new_platform .new-platform-popup-link:focus-visible,
#dialog_new_platform .new-platform-popup-dismiss:focus-visible {
	outline: 2px solid #2b82d4;
	outline-offset: 3px;
}
#dialog_new_platform .new-platform-popup-dismiss {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px;
	padding: 2px;
	border: 0;
	background: transparent;
	color: #676767;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	line-height: 1.5;
	text-decoration: none;
}
#dialog_new_platform .new-platform-popup-dismiss > span[lang] {
	text-decoration: underline;
	text-underline-offset: 2px;
}
#dialog_new_platform .new-platform-popup-inline-separator {
	color: #a0a0a0;
	text-decoration: none;
}
#dialog_new_platform .new-platform-popup-dismiss:hover,
#dialog_new_platform .new-platform-popup-dismiss:focus {
	color: #333333;
}
#login .dialog-new-platform[dir="rtl"] .ui-dialog-title {
	float: right;
	text-align: right;
}
#login .dialog-new-platform[dir="rtl"] .ui-dialog-titlebar {
	padding-right: 18px;
	padding-left: 44px;
}
#login .dialog-new-platform[dir="rtl"] .ui-dialog-titlebar-close {
	right: auto;
	left: 12px;
}
#dialog_new_platform[dir="rtl"] .new-platform-popup-content {
	direction: rtl;
}

@media (max-width: 520px) {
	#dialog_new_platform .new-platform-popup-content {
		padding: 20px 18px 17px;
	}
	#dialog_new_platform .new-platform-popup-language-title {
		font-size: 13px;
	}
	#dialog_new_platform .new-platform-popup-message,
	#dialog_new_platform .new-platform-popup-link,
	#dialog_new_platform .new-platform-popup-dismiss {
		font-size: 12px;
	}
}

/*#################################################*/
/* TOP PANEL
/*#################################################*/

#top_panel {
	height: 36px;
	background: #ffffff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
}
#top_panel img { display: block; width: 16px; height: 16px; padding: 3px 0; }
#top_panel .left-menu { float: left; }
#top_panel .right-menu { float: right; }
#top_panel .tp-menu div { float: left; }
#top_panel .tp-menu div a {
	display: table;
	padding-top: 7px;
	padding-bottom: 7px;
	padding-left: 14px;
	padding-right: 14px;
	text-decoration: none;
	color: #808080;
	font-size: 13px;
}
#top_panel a:hover { background: #f5f5f5; }
#top_panel a.active {background: #f5f5f5;}
#top_panel .cpanel-btn a { background: #fab444; border: none; }
#top_panel .cpanel-btn a:hover { background: #fab444; opacity: 0.9; }
#top_panel .billing-btn a { background: #9cc602; border: none; }
#top_panel .billing-btn a:hover { background: #9cc602; opacity: 0.9; }
#top_panel .billing-btn-red a { background: #ff4e49; border: none; }
#top_panel .billing-btn-red a:hover { background: #ff4e49; opacity: 0.9; }
#top_panel .logout-btn a { background: #6c6c6c; border: none; }
#top_panel .logout-btn a:hover { background: #6c6c6c; opacity: 0.9; }
#top_panel .user-btn img { float:left; margin-right: 5px;}
#top_panel .chat-btn span,
#top_panel .billing-btn span,
#top_panel .billing-btn-red span {
	font-size: 11px;
	line-height: 12px;
	height: 12px;
	background: #f5f5f5;
	color: #808080;
	padding: 3px;
	margin: 1px 0 0 10px;
	display: block;
	border-radius: 2px;
	float: right;
}
#top_panel .user-btn span {
	display: block;
	float: right;
	margin-top: 1px;
	white-space: nowrap;
	max-width: 80px;
	overflow: hidden;
	text-overflow: ellipsis;
}
#top_panel .select-language { margin: 1px 0; padding: 5px 10px; }
#top_panel .select-language.cp { border: none; }

/* Top panel labeled menu buttons */
#top_panel .tp-menu > div > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 36px;
	box-sizing: border-box;
	padding: 0 9px;
	line-height: 16px;
	transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
#top_panel .tp-menu > div > a img {
	flex: 0 0 auto;
}
#top_panel .top-panel-menu-label {
	display: inline-block;
	float: none;
	width: auto;
	max-width: 72px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	color: #5f6368;
	font-size: 11px;
	font-weight: 600;
	line-height: 16px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#top_panel .left-menu > div > a:hover .top-panel-menu-label,
#top_panel .left-menu > div > a.active .top-panel-menu-label {
	color: #2b82d4;
}
#top_panel .cpanel-btn .top-panel-menu-label,
#top_panel .billing-btn .top-panel-menu-label,
#top_panel .billing-btn-red .top-panel-menu-label,
#top_panel .logout-btn .top-panel-menu-label {
	color: #ffffff;
}

@media (max-width: 1500px) {
	#top_panel .top-panel-menu-label {
		display: none;
	}
	#top_panel .tp-menu > div > a {
		gap: 0;
		padding-left: 13px;
		padding-right: 13px;
	}
}


/*#################################################*/
/* LEFT PANEL
/*#################################################*/

#side_panel {
	position: fixed;
	top: 36px;
	bottom: 0px;
	width: 360px;
	background: #ffffff;
	z-index: 20;
}

#side_panel_objects,
#side_panel_events,
#side_panel_places,
#side_panel_history,
#side_panel_places_markers,
#side_panel_places_routes,
#side_panel_places_zones{
	padding: 10px;
}

#side_panel_places { padding-left: 0px; padding-right: 0px;}

#side_panel_places .ui-tabs-nav
{
	border: 0px;
	margin-left: 10px;
	margin-right: 10px;
	padding: 2px;
}

#side_panel_places .ui-tabs-nav li
{
	border: 0px;
}

#side_panel_places .ui-tabs-nav li a
{
	padding-top: 2px;
	padding-bottom: 1px;
}

#side_panel_places .ui-tabs-nav li.ui-tabs-active a
{
	padding-top: 2px;
	padding-bottom: 1px;
}

#places_marker_icon_tabs {
	margin-left: -15px;
	margin-right: -15px;
	width: 324px;
}

#places_marker_icon_default_tab, #places_marker_icon_custom_tab {
	padding-bottom: 0px;
}

#places_marker_icon_default_list {
	position: relative;
	height: 245px;
	overflow-y: scroll;
	border: 1px solid #f5f5f5;
	padding: 5px;
	-webkit-box-sizing: border-box;‌​
-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#places_marker_icon_custom_list {
	position: relative;
	height: 211px;
	overflow-y: scroll;
	border: 1px solid #f5f5f5;
	padding: 5px;
	-webkit-box-sizing: border-box;‌​
-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*#################################################*/
/* BOTTOM PANEL
/*#################################################*/

#bottom_panel {
	display: none;
	position: absolute;
	bottom: 0px;
	left: 365px;
	right: 0px;
	background-color: #ffffff;
}

#bottom_panel .controls {
	position: absolute;
	right: 15px;
	top: 5px;
	z-index: 1;
}

#bottom_panel .controls a {
	float: left;
	height: 16px;
	width: 16px;
	display: inline-block;
}

#bottom_panel .controls span.icon-close {
	display: table;
	width: 100%;
	height: 100%;
	background-size: 10px 10px;
	background-repeat: no-repeat;
	background-position: center center;
}

#bottom_panel_datalist,
#bottom_panel_graph,
#bottom_panel_msg {
	padding: 10px;
}
#bottom_panel_datalist,
#bottom_panel_graph,
#bottom_panel_msg  { background: #ffffff; }
#bottom_panel_graph_plot
{
	height: 100%;
	width: 100%;
}

.graph-controls
{
	margin-bottom: 10px;
	display: table;
	width: 100%;
}
.graph-controls div
{
	display: inline-block;
	vertical-align: middle;
	font-size: 11px;
}
.graph-controls-left
{
	float: left;
}
.graph-controls-right
{
	float: right;
}
.graph-label
{
	line-height: 24px;
	margin-right: 5px;
}

/*#################################################*/
/* OBJECT LIST
/*#################################################*/

.object-list-item{
	height: 30px;
}
.object-list-item .left {
	float: left;
	width: 110px;
}
.object-list-item .right {
	display: table;
	height: 100%;
	float: right;
}
.object-list-item .name {
	overflow: hidden;
	text-overflow: ellipsis;
}
.object-list-item .status {
	overflow: hidden;
	text-overflow: ellipsis;
	color: #808080;
	font-size: 10px;
}
.object-list-item .speed,
.object-list-item .engine,
.object-list-item .connection,
.object-list-item .messages,
.object-list-item .video-cam,
.object-list-item .video-history {
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	text-align: center;
	padding: 3px;
}

.object-list-item .video-history img {
	cursor: pointer;
}
.object-list-item .speed {
	max-width: 50px;
	text-overflow: ellipsis;
	overflow: hidden;
}
.object-list-item .messages {
	font-size: 11px;
	line-height: 12px;
	height: 12px;
	background: #f5f5f5;
	color: #808080;
	display: block;
	border-radius: 2px;
	margin-top: 4px;
}
.settings-object-list-icon-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 18px;
}
.wasl-object-list-item {
	min-width: 18px;
}
.wasl-object-list-icon {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	color: #ffffff;
	font-size: 9px;
	font-weight: bold;
	line-height: 14px;
	text-align: center;
}
.wasl-object-list-icon--registered-issued {
	background-color: #24a148;
}
.wasl-object-list-icon--registered-not-issued {
	background-color: #f39c12;
}
.wasl-object-list-icon--not-registered {
	background-color: #d93025;
}
.object-action-menu {
	border-radius: 2px;
	padding: 3px;
}
.object-action-menu:hover {
	background-color: #ffffff
}

/*#################################################*/
/* NOTIFY/CONFIRM
/*#################################################*/

#dialog_notify,
#dialog_confirm{
	min-width: 250px;
}

#dialog_notify_text,
#dialog_confirm_text{
	line-height: 18px;
}

.ui-pnotify .ui-pnotify-text .row {
	margin-bottom: 0px;
}
.ui-pnotify .ui-pnotify-text .row2 {
	line-height: 18px;
}
.ui-pnotify .ui-pnotify-text .row2 div:last-child {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

/*#################################################*/
/* MENU
/*#################################################*/

.ui-menu { position: absolute; min-width: 150px; white-space: nowrap; z-index: 99999999; }
.ui-menu .ui-menu-icon {
	top: 8px;
}
.menu {
	background: #ffffff;
	-webkit-box-shadow: 0 0 5px 0 #9b9b9b;
	box-shadow: 0 0 5px 0 #9b9b9b;
}
.menu ul {
	background: #ffffff;
	-webkit-box-shadow: 3px 0 5px 0 #9b9b9b;
	box-shadow: 3px 0 5px 0 #9b9b9b;
}
.menu li { border-top: 1px solid #f5f5f5; }
.menu li:first-child { border: none; }
.menu li a:hover { background-color: #f5f5f5; }
.menu.ui-menu .first-item { border-top: 3px solid #2b82d4; }
.menu ul li a,
.menu .ui-menu-icon { background: url(images/arrow-right.svg) left center no-repeat; background-size: 10px 10px; overflow: visible; }
.menu.ui-menu .ui-menu-item a {
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 10px 10px;
	padding: 5px 15px 5px 28px;
	color: #444444;
}

/*#################################################*/
/* DRAGBARS
/*#################################################*/

#side_panel_objects_dragbar,
#side_panel_events_dragbar,
#side_panel_history_dragbar {
	margin: 3px -10px;
	height: 5px;
	background: #f5f5f5;
	cursor: row-resize;
}
#side_panel_objects_dragbar:hover,
#side_panel_events_dragbar:hover,
#side_panel_history_dragbar:hover { background-color: #eeeeee; }

#side_panel_dragbar {
	position: absolute;
	top: 36px;
	bottom: 0px;
	left: 360px;
	width: 5px;
	background: #f5f5f5;
	z-index: 20;

}
#side_panel_dragbar:hover { background-color: #eeeeee;}

#bottom_panel_dragbar {
	position: absolute;
	bottom: 0px;
	left: 365px;
	right: 0px;
	height: 5px;
	background: #f5f5f5;
	border-left: 0px;
}
#bottom_panel_dragbar:hover { background-color: #eeeeee; }

/*#################################################*/
/* SETTINGS
/*#################################################*/

#dialog_settings,
#dialog_settings_object_edit_select_icon { padding: 0px; }
#dialog_settings_object_edit,
#dialog_settings_event_properties { padding-top: 0px; padding-left: 0px; padding-right: 0px; }
#settings_main { height: 551px; margin-top: 0px; border-top: 0px; }
#settings_object { min-height: 471px; border-top: 0px; }
#settings_event { min-height: 417px; border-top: 0px; }
#settings_main_objects,
#settings_main_subaccounts { /*padding: 0 10px 10px 10px;*/ }
#settings_object_edit_select_icon_default_list {
	position: relative;
	height: 265px;
	overflow-y: scroll;
	border: 1px solid #f5f5f5;
	padding: 5px;
	-webkit-box-sizing: border-box;‌​
-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#settings_object_edit_select_icon_custom_list {
	position: relative;
	height: 231px;
	overflow-y: scroll;
	border: 1px solid #f5f5f5;
	padding: 5px;
	-webkit-box-sizing: border-box;‌​
-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*#################################################*/
/* MAP
/*#################################################*/

#map {
	position: absolute;
	top: 36px;
	left: 365px;
	right: 0px;
	bottom: 5px;
}

.map-layer-control
{
	position: absolute;
	top: 46px;
	right: 10px;
	background-color: #ffffff;
	padding: 2px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 20;
}

.history-view-control
{
	display: none;
	position: absolute;
	width: 196px;
	top: 46px;
	left: 413px;
	background-color: #ffffff;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 20;
	float: left;
	clear: both;
}

.history-view-control a,
.history-view-control a:hover{
	float: left;
	height: 28px;
	width: 28px;
	display: inline-block;
}

.history-view-control a:hover {
	background-color: #f5f5f5;
}

.camera-control
{
	display: none;
	position: absolute;
	bottom: 16px;
	right: 10px;
	min-width: 236px;
	max-width: 316px;
	height: 177px;
	background-color: #ffffff;
	padding: 2px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 15;
	opacity: 0.75;
	line-height: 177px;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
	color: #aaaaaa;
}

.camera-control img
{
	width: 316px;
	height: 177px;
}

.street-view-control
{
	display: none;
	position: absolute;
	bottom: 16px;
	right: 10px;
	width: 316px;
	height: 177px;
	background-color: #ffffff;
	padding: 2px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 15;
	opacity: 0.75;
	line-height: 177px;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
	color: #aaaaaa;
}

.street-view-control img
{
	width: 316px;
	height: 177px;
}

.object-cluster-popup
{
	overflow-y: scroll;
	overflow-x: hidden;
	max-height: 200px;
	margin-top: 25px;
}

/*#################################################*/
/* SHARE
/*#################################################*/

#map_share {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

#side_panel_share {
	display: none;
	position: absolute;
	top: 75px;
	bottom: 0px;
	left: 0px;
	width: 280px;
	background-color: #ffffff;
	opacity: 0.8;
	z-index: 8;
	padding: 5px;
}

.object-share-control
{
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #ffffff;
	padding: 2px 2px 2px 5px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 20;
}

/*#################################################*/
/* FOLLOW
/*#################################################*/

#map_follow {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

#side_panel_follow {
	display: none;
	position: absolute;
	top: 75px;
	bottom: 0px;
	left: 0px;
	width: 280px;
	background-color: #ffffff;
	opacity: 0.8;
	z-index: 8;
	padding: 5px;
}

.object-follow-control
{
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #ffffff;
	padding: 2px 2px 2px 5px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	z-index: 20;
}

/*#################################################*/
/* DATALIST
/*#################################################*/

.datalist {
	/*	width: 100%;
        height: 100%;*/
}

.datalist-item-list {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-content: flex-start;
	overflow-x: auto;
}

.data-item-text {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
	color: #aaaaaa;
}

.datalist-item {
	display: table;
	float: left;
	width: 280px;
	min-width: 280px;
	margin-right: 15px;
	padding-left: 5px;
	padding-right: 5px;
	line-height: 24px;
}

.datalist-item.even {
	background-color: #f5f5f5;
}

.datalist-item.odd {
	background-color: #ffffff;
}

.datalist-item-icon {
	float: left;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	width: 24px;
	height: 24px;
}

.datalist-item-name {
	display: inline-block;
	width: 90px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.datalist-item-value {
	display: inline-block;
	width: 166px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: right;
}

/*#################################################*/
/* DASHBOARD
/*#################################################*/

#dialog_dashboard {
	background-color: #f5f5f5;
}

.dashboard-container {
	display: inline-block;
	width: 100%;
	background-color: #ffffff;
}

.dashboard-container-header {
	width: 100%;
	height: 30px;
	line-height: 30px;
	background: #e5e5e5;
	margin-bottom: 10px;
}

.dashboard-container-header-icon {
	float: left;
	width: 30px;
	height: 30px;
}

.dashboard-container-header-icon span {
	display: inline-block;
	width: 100%;
	height: 100%;
	background-size: 15px 15px;
	background-repeat: no-repeat;
	background-position: center center;
}

.dashboard-container-header-title {
	float: left;
}

.dashboard-container-header-menu {
	float: right;
	width: 30px;
	height: 30px;
}

.dashboard-container-header-menu span {
	display: inline-block;
	width: 100%;
	height: 100%;
	background-size: 15px 15px;
	background-repeat: no-repeat;
	background-position: center center;
}

.dashboard-container-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
	color: #aaaaaa;
	margin-left: 10px;
	margin-right: 10px;
}

.dashboard-container-graph-plot {
	margin-left: 10px;
	margin-right: 10px;
}

#dialog_dashboard .block {
	position: relative;
}

#dialog_dashboard .block .loader.block_input_loader {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*#################################################*/
/* HISTORY
/*#################################################*/

.history-controls { margin: 5px 0; }

/*#################################################*/
/* REPORTS
/*#################################################*/

#dialog_reports { padding: 0px; }

/*#################################################*/
/* OBJECT CONTROL
/*#################################################*/

#dialog_cmd { padding: 0px; }

/*#################################################*/
/* IMAGE GALLERY
/*#################################################*/

#dialog_image_gallery { padding-bottom: 0; overflow: hidden; }
#image_gallery_img {
	width: 640px;
	height: 480px;
	border: 1px solid #f5f5f5;
	text-align: center;
}
#image_gallery_img_data {
	background: #f5f5f5;
	height: 28px;
	width: 657px;
	margin-top: 5px;
	margin-right: -15px;
}
#image_gallery_img_data_address {
	white-space: nowrap;
}
#dialog_image_gallery .img-controls { width: 320px; }

/*#################################################*/
/* CHAT
/*#################################################*/

#dialog_chat { padding-bottom: 0; overflow: hidden; }

.chat-msgs-block {
	position: absolute;
	left: 252px;
	top: 15px;
	bottom: 49px;
	right: 15px;
}

.chat-msg-block {
	position: absolute;
	left: 252px;
	bottom: 15px;
	right: 15px;
	height: 24px;
}

#chat_msgs {
	position: absolute;
	left: 0px;
	top: 0px;
	bottom: 0px;
	right: 0px;
	overflow-x: hidden;
	overflow-y: scroll;
	border: 1px solid #f5f5f5;
	z-index: 9;
}

#chat_msgs_dt {
	font-size: 11px;
	display: none;
	position: relative;
	text-align: center;
	margin: 1px 1px 1px 1px;
	padding: 1px;
	z-index: 10;
	background: #eeeeee;
	opacity: 0.7;
}

.chat-msg-container
{
	width: 100%;
}

.chat-msg-status
{
	font-size: 11px;
	float: right;
	clear: both;
	margin: 3px;
	max-width: 60%;
	color: #bbbbbb;
}

.chat-msg-server
{
	text-align: left;
	float: right;
	clear: both;
	background: #DFE8F7;
	margin: 3px;
	padding: 3px 10px;
	max-width: 60%;
	border-radius: 2px;
	word-wrap: break-word;
}

.chat-msg-client
{
	text-align: left;
	float: left;
	clear: both;
	background: #F5F5F5;
	margin: 3px;
	padding: 3px 10px;
	max-width: 60%;
	border-radius: 2px;
	word-wrap: break-word;
}

.chat-msg-dt-server
{
	text-align: right;
	font-size: 10px;
	color: #888888;
}

.chat-msg-dt-client
{
	text-align: left;
	font-size: 10px;
	color: #888888;
}

/*#################################################*/
/* BILLING
/*#################################################*/

.dialog-billing-titlebar .ui-dialog-titlebar {
	background-color: #9cc602;
}

#billing_plan_purchase_list {
	width: 100%;
	height: 388px;
	font-size: 12px;
	overflow-y: scroll;
}
#billing_plan_purchase_list .row .row2 {
	margin-bottom: 0;
}
#billing_plan_purchase_list .row {
	border-bottom: 1px solid #f5f5f5;
	margin-bottom: 0;
	padding: 10px 0;
}
#billing_plan_purchase_list .row.header {
	font-weight: 600;
	color: #707070;
	background: #f5f5f5;
}
#billing_plan_purchase_list .row.even {
	background: #f5f5f5;
}
#billing_plan_purchase_list  div {
	text-align: center;
}
#billing_plan_purchase_list div.name {
	text-align: left;
}
#billing_plan_purchase_list i.arrow {
	width: 10px;
	height: 10px;
	display: block;
	float: left;
	margin-left: 8px;
	background: url(images/arrow-right.svg) center center no-repeat; background-size: 10px 10px;
}
#billing_plan_purchase_list i.purchase {
	width: 16px;
	height: 16px;
	margin: 0 auto;
	display: block;
	float: none;
	background: url(images/cart.svg) center center no-repeat; background-size: 16px 16px;
}

/*#################################################*/
/* LOGO, INFORMATION, MESSAGES
/*#################################################*/

.logo { border:0px; height:56px; }
.logo_small { border:0px; width:32px; height:32px; }
.favicon { border:0px; width:32px; height:32px; }
.info { padding-bottom: 15px; height: 35px; display: table-cell; vertical-align: middle; }
.info2 { height: 22px; display: table-cell; vertical-align: middle; }
.subinfo {color: #949494; line-height: 12px;}

/*#################################################*/
/* DIALOG CONTROLS AND TABS
/*#################################################*/

.controls-block
{
	margin: -15px -15px 10px -15px;
	padding: 4px 15px 7px;
	background: #f5f5f5;
	height: 20px;
}

#settings_main_sms .controls,
#settings_main_user_interface .controls,
#settings_main_my_account .controls
{
	position: absolute;
	right: 15px;
	top: 4px;
}
#settings_main_user_interface,
#settings_main_my_account
{
	height: 490px;
}

#settings_main_object_list,
#settings_main_object_group_list,
#settings_main_object_driver_list,
#settings_main_object_passenger_list,
#settings_main_object_vehicle_equipment_list,
#settings_main_object_region_list,
#settings_main_object_project_list,
#settings_main_object_status_list,
#settings_main_object_trailer_list,
#settings_main_objects_groups_drivers .ui-tabs-nav { margin: 0 -15px; }

#settings_object_accuracy
{
	height: 410px;
}

.ui-tabs-anchor
{
	white-space: nowrap;
	max-width: 110px;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*#################################################*/
/* CPANEL
/*#################################################*/

body#cpanel { background: #e5e5e5; }
#cpanel h1.title {
	margin: 0;
	color: #2b82d4;
	display: table;
	float: left;
}
#cpanel_user_list_grid.ui-jqgrid .ui-jqgrid-bdiv {
	padding-top: 0;
}
/* Track273: align the select-all checkbox with the row checkboxes. */
#cb_cpanel_user_list_grid,
#cpanel_user_list_grid input.cbox {
	display: block;
	width: 14px;
	height: 14px;
	margin: 0 auto !important;
}

/* The jqGrid header table has a left offset relative to the body table. */
#cb_cpanel_user_list_grid {
	position: relative;
	left: -6px;
}

/* Keep the main CPanel grids usable when browser zoom reduces the viewport width. */
body#cpanel #cpanel_user_list .ui-jqgrid-bdiv,
body#cpanel #cpanel_object_list .ui-jqgrid-bdiv,
body#cpanel #cpanel_unused_object_list .ui-jqgrid-bdiv,
body#cpanel #cpanel_billing_plan_list .ui-jqgrid-bdiv {
	overflow-x: auto;
}

.version { font-size: 10px; color: #808080; }
#cpanel_manage_server .cpanel-title { margin-bottom: 12px; }
#cpanel h1.title span { color: #808080; font-weight: normal; font-size: 22px;}
#cpanel_user_list,
#cpanel_object_list,
#cpanel_unused_object_list,
#cpanel_billing_plan_list,
#cpanel_manage_server {
	margin: 15px;
	padding: 15px;
	background: #ffffff;
	border-top: 3px solid #2b82d4;
}
#dialog_user_edit_tabs { height: 555px; }
#dialog_user_edit { padding: 0px; }
#cpanel_user_list .inputbox-search,
#cpanel_object_list .inputbox-search,
#cpanel_unused_object_list .inputbox-search,
#cpanel_billing_plan_list .inputbox-search {
	width: 300px;
	margin-left: 3px;
}
#cpanel .ms-save {
	position: absolute;
	right: 0px;
	top: 2px;
}
.ui-tabs .ui-tabs-nav li.save-btn { float: right; }
#cpanel #dialog_user_edit_account .controls,
#cpanel #dialog_user_edit_account_security .controls,
#cpanel #dialog_user_edit_contact_info .controls,
#cpanel #dialog_user_edit_wasl_info .controls {
	position: absolute;
	right: 15px;
	top: 4px;
}
#cpanel #cpanel_manage_server .ui-tabs-nav {
	background: #f5f5f5;
	padding: 10px 15px;
	border-bottom: none;
	margin: 0 -15px;
}
#cpanel #cpanel_manage_server .ui-tabs .ui-tabs-nav li { border: none; }
#cpanel #cpanel_manage_server .ui-tabs .ui-tabs-nav li.ui-tabs-active a {
	background-color: #808080;
	color: #ffffff;
	padding: 5px 15px;
}
#cpanel #cpanel_manage_server .ui-tabs .ui-tabs-nav li a {
	padding: 5px 15px;
	margin-right: 5px;
	font-size: 12px;
	background-color: #ffffff;
}
#cpanel_manage_server {
	position: absolute;
	top: 36px;
	bottom: 0px;
	right: 0px;
	left: 0px;
	overflow: hidden;
}
.cpanel-tabs-content {
	position: absolute;
	top: 50px;
	bottom: 45px;
	right: 0px;
	left: 0px;
	overflow-y: auto;
	margin-left: -15px;
}
#cpanel_manage_server .ui-img-container {
	display: flex;
	height: 160px;
	background-color: #f5f5f5;
	border: 1px solid #f5f5f5;
	justify-content: center;
	align-items: center;
}
#cpanel_manage_server .logo {
	border: 0px;
	width: auto;
	height: auto;
	max-width: 215px;
	padding: 5px;
}
#cpanel_manage_server .login-background {
	border: 0px;
	width: auto;
	height: auto;
	max-width: 215px;
	max-height: 150px;
	padding: 5px;
}
#dialog_language_properties .row2 {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

/*#################################################*/
/* CPANEL TOP PANEL
/*#################################################*/

time-widget {
	display: inline-block;
	padding: 4px 8px;
	font-size: 14px;
	font-family: Arial, sans-serif;
	color: #444444;
	background-color: #fff;
}

#top_panel .select-view,
#top_panel .select-language { margin: 1px 0; padding: 5px 10px; }
#top_panel .map-btn a { background: #2b82d4; }
#top_panel .map-btn a:hover { background: #2b82d4; opacity: 0.9; }
#top_panel .select-view { width: 180px; }
#top_panel .user-btn img,
#top_panel .user-list-btn img,
#top_panel .object-list-btn img,
#top_panel .billing-plan-list-btn img,
#top_panel .unused-object-list-btn img { float: left; margin-right: 5px; }
#top_panel .user-btn span,
#top_panel .user-list-btn span,
#top_panel .object-list-btn span,
#top_panel .billing-plan-list-btn span,
#top_panel .unused-object-list-btn span { display: block; float: right; margin-top: 1px; }
#top_panel time-widget {
	margin-top: 6px
}

/*#################################################*/
/* @media
/*#################################################*/

@media (max-width: 1200px) {
	#top_panel .tp-menu div a {
		padding-left: 13px;
		padding-right: 13px;
	}
}

@media (max-width: 1150px) {
	#top_panel .user-btn span {
		display: none;
	}
	#top_panel .user-btn img { margin-right: 0px;}
}

@media (max-width: 1100px) {
	#top_panel .user-btn {
		display: none;
	}
	#top_panel .user-btn img { margin-right: 0px;}
}

@media (max-width: 1050px) {
	#top_panel .select-language {
		display: none;
	}
}

@media (max-width: 1000px) {
	#bottom_panel_graph_label {
		display: none;
	}
}

@media (max-width: 950px) {
	#top_panel .billing-btn {
		display: none;
	}
	#top_panel .billing-btn-red {
		display: none;
	}
}

@media (max-width: 850px) {
	#top_panel .cpanel-btn {
		display: none;
	}
	#top_panel .mobile-btn {
		display: none;
	}
	#top_panel .logout-btn {
		display: none;
	}
}

@media (max-width: 800px) {
	.map-layer-control {
		display: none;
	}
}

@media (min-width: 640px)
{
	#side_panel_share {
		display: none;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		width: 280px;
		background-color: #ffffff;
		opacity: 1;
		padding: 5px;
	}

	#side_panel_follow {
		display: none;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		width: 280px;
		background-color: #ffffff;
		opacity: 1;
		padding: 5px;
	}
}
.ui-dialog[aria-describedby="html_generated_report"]{background-color: #fff;}

#side_panel_objects_object_list_grid .object-list-item .object-list-item{
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	text-align: center;
	padding: 3px;
}
#side_panel_objects_object_list_grid .right{
	float:none;
}

.hidden-element{
	display: none !important;
}

#side_panel .ui-tabs-panel #side_panel_objects_object_list .ui-jqgrid .ui-jqgrid-view .ui-state-default .ui-jqgrid-htable #side_panel_objects_object_list_grid_name{width: 186px !important;}

.map-iframe #side_panel, .map-iframe #bottom_panel, .map-iframe #top_panel, .map-iframe #side_panel_dragbar {
	display: none;
}

.map-iframe #map{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.maintenance-ctl {
	width: 18px;
	height: 12px;
	display: inline-block;
}
.maintenance-ctl.maintenance-ctl-loading {
	pointer-events: none;
	opacity: 0.6;
	position: relative;
}
.maintenance-ctl.maintenance-ctl-loading img{
	display: none;
}
.maintenance-ctl.maintenance-ctl-loading:after {
	content: '';
	position: absolute;
	right: 0;
	top: -2px;
	width: 10px;
	height: 10px;
	margin-top: 0;
	border: 2px solid #2B82D4;
	border-top-color: transparent;
	border-radius: 50%;
	animation: maintenance-ctl-spinner 0.6s linear infinite;
}
@keyframes maintenance-ctl-spinner {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.wasl-notification-group {}
.wasl-notification-group .wasl-notification-group-item{
	display: none;
}

.top_panel_dashboard_wrap {
	display: flex;
	align-self: center;
	gap: 10px;
    padding: 0px 4px;
    height: 36px;
    align-items: center;
}

.top_panel_dashboard_item {
	font-size: 16px;
	padding: 0px 8px;
	border-radius: 2px;
	cursor: pointer;
	font-weight: 700;
	border: 1px solid #f5f5f5;
}
.top_panel_dashboard_item.selected {
	border: 1px solid #2196f3;
}

.dashboard_block_input {
    margin-left: 8px;
    position: absolute;
    margin-top: 36px;
	z-index: 999;
}

.dashboard_block_input_filter {
    margin-left: 8px;
    position: absolute;
    margin-top: 36px;
    z-index: 999;
    width: calc(100% - 20px);
}

#top_panel_dashboard_no_data {
	background-color: rgb(237, 194, 64);
}

#top_panel_dashboard_moving {
	background-color: rgb(77, 167, 77);
}

#top_panel_dashboard_stopped {
	/* background-color: rgb(203, 75, 75); */
	background-color: rgb(223, 100, 100);
}

#top_panel_dashboard_idle {
	/* background-color: rgb(148, 64, 237); */
	background-color: rgb(187 123 255);
}

#top_panel_dashboard_offline {
	background-color: rgb(175, 216, 248);
}

#top_panel_dashboard_total{
	background-color: #dfdfdf;
}

/* Status Filter Styles */
.status-filter-container {
    position: relative;
    display: inline-block;
}

.status-filter-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: white;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 1000;
    min-width: 200px;
    padding: 8px;
}

.status-filter-item {
    padding: 6px 8px;
    cursor: pointer;
    border-radius: 3px;
    margin: 2px 0;
    display: flex;
    align-items: center;
    transition: background-color 0.2s ease;
	border: 1px solid #ffffff;
}

.status-filter-item:hover {
    background-color: #f5f5f5;
	border: 1px solid #f5f5f5;
}

.status-filter-item.selected {
    background-color: #e3f2fd;
    border: 1px solid #2196f3;
}

.status-filter-item.selected .status-color-indicator {
    border: 2px solid #2196f3;
}

.status-color-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 8px;
    transition: border 0.2s ease;
}

.row-middle {
    display: flex;
    align-items: center;
}

.row-middle.width40,
.row-middle.width60 {
    display: flex;
    align-items: center;
}

.row-middle.width60 .checkbox {
    margin-right: 8px;
}

.tooltip {
    position: relative;
    display: inline-block;
    margin: 5px;
}

.tooltip .help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #2B82D4;
    color: #fff;
    font: 700 13px/1 Arial, sans-serif;
    cursor: help;
    user-select: none;
}

.tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 50%;
    left: calc(100% + 12px);
    transform: translateY(-50%);
    width: 300px;
    max-width: 300px;
    padding: 8px 10px;
    background: #ececec;
    color: #000;
    font: 12px/1.4 Arial, sans-serif;
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.01);
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 120ms ease-in-out, visibility 120ms ease-in-out;
    z-index: 10;
}

.tooltip::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(100% + 6px);
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-right-color: #ececec;
    opacity: 0;
    visibility: hidden;
    transition: opacity 120ms ease-in-out, visibility 120ms ease-in-out;
    z-index: 9;
}

.tooltip:hover::after,
.tooltip:hover::before,
.tooltip:focus-within::after,
.tooltip:focus-within::before {
    opacity: 1;
    visibility: visible;
}

.notice {
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #e6a700;
    background: #fff8e1;
    color: #6b4e00;
    border-radius: 6px;
    font-family: Arial, sans-serif;
    max-width: 100%;
    width: 100%;
}

.notice:not(:last-child) {
    margin: 0 0 10px 0;
}

.notice .content {
    flex: 1 1 auto;
}

.notice .title {
    margin: 0 0 4px 0;
    font-weight: 700;
    font-size: 14px;
    color: #5a4200;
}

.notice .message {
    margin: 0;
    font-size: 13px;
    line-height: 2;
}

.notice .container-resend-email {
    all: revert;
    display: block;
    margin: 5px 0;
}

.notice .container-resend-email-timer {
    all: revert;
    display: block;
    text-align: center;
    padding: 5px 0;
    margin: 5px 0;
}

.notice .container-resend-email-timer.container-resend-email-timer-visible {
    display: block;
}

.notice .container-resend-email-timer.container-resend-email-timer-hidden {
    display: none;
}

.notice .container-resend-email-timer .timer-resend-email {
    font-weight: bold;
}

.notice .container-resend-email-button {
    all: revert;
    display: block;
    text-align: center;
}

.notice .container-resend-email-button .button-resend-email {
}

.state-true {
    color: #2e7d32 !important;
}

.state-false {
    color: #c62828 !important;
}

.dialog-dashboard-filter {
    padding: 12px;
    background: #fff;
}

.dashboard-filter-container {
    display: table;
    table-layout: fixed;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.dashboard-filter-cell {
    display: table-cell;
    vertical-align: middle;
    padding: 6px 8px;
}

.dashboard-filter-cell .width100,
.dashboard-filter-cell select,
.dashboard-filter-cell input,
.dashboard-filter-cell .select {
    width: 100%;
    box-sizing: border-box;
}

.dashboard-filter-actions-cell {
    text-align: center;
}

.dashboard-filter-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-filter-actions button {
    min-width: 110px;
}

@media (max-width: 640px) {
    .dashboard-filter-actions {
        justify-content: flex-start;
    }
    .dashboard-filter-container {
        display: block;
    }
    .dashboard-filter-cell {
        display: block;
        width: 100%;
        padding: 6px 0;
    }
}
/* CMSv7 video modal */
.video-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
	overflow: hidden;
	background-color: rgba(0, 0, 0, 0.85);
	align-items: center;
	justify-content: center;
}

.video-modal.is-open {
	display: flex;
}

.video-modal-content {
	position: relative;
	background: #111;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.5);
	width: min(95vw, 1200px);
	height: min(95vh, 900px);
}

/* Single video / history iframe — 16:9 is the standard video aspect ratio */
.video-modal-content.video-win-1,
.video-modal-content.video-single {
	aspect-ratio: 16 / 9;
	height: auto;
	max-height: min(95vh, 900px);
}

/* Multi-window live streams  */
.video-modal-content.video-win-4,
.video-modal-content.video-win-6,
.video-modal-content.video-win-8,
.video-modal-content.video-win-9,
.video-modal-content.video-win-16 {
	width: min(95vw, calc(95vh * 16 / 9));
	height: min(95vh, calc(95vw * 9 / 16));
	max-width: none;
	max-height: none;
}

#cmsv6flash,
#videoPlayer,
#videoHistoryPlayerFrame,
#videoHistoryPlayerVideo {
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	border: 0;
}

.video-close {
	position: absolute;
	top: 6px;
	right: 14px;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
	z-index: 10;
	line-height: 1;
	text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

.video-close:hover {
	color: #ff5555;
}

/* Mobile immersive — fill entire screen */
@media (max-width: 768px) {
	.video-modal-content,
	.video-modal-content.video-single,
	.video-modal-content.video-win-1,
	.video-modal-content.video-win-4,
	.video-modal-content.video-win-6,
	.video-modal-content.video-win-8,
	.video-modal-content.video-win-9,
	.video-modal-content.video-win-16 {
		width: 100vw;
		height: 100vh;
		max-width: none;
		max-height: none;
		border-radius: 0;
		aspect-ratio: auto;
	}
}

.video-loading,
.video-error {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #111;
	color: #fff;
	z-index: 5;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
}

.video-loading-spinner {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(255,255,255,0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-bottom: 12px;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

.video-loading-text {
	font-size: 14px;
	color: #ccc;
}

.video-error-text {
	font-size: 15px;
	color: #ff6b6b;
	line-height: 1.5;
}

.video-error-text small {
	display: block;
	margin-top: 8px;
	color: #aaa;
	font-size: 12px;
	max-width: 480px;
}

.action-btn {
	margin-top: 14px;
	padding: 10px 22px;
	background: #2196f3;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
}

.action-btn:hover {
	background: #1976d2;
}

/* Prevent jQuery UI dialog from shifting body padding/layout */
body.ui-dialog-scrollable {
    padding-right: 0 !important;
}
#contentholder { max-height: 70vh; overflow-y: auto; overflow-x: auto; }
.ui-dialog[aria-describedby="html_generated_report"] .ui-dialog-content { overflow-y: auto !important; overflow-x: auto !important; max-height: 70vh !important; }


#top_panel .alerts-dropdown-btn {
	position: relative;
}
#top_panel .alerts-dropdown-btn > a {
	position: relative;
}
#top_panel .alerts-dropdown-btn div,
#top_panel #alerts_dropdown_panel div {
	float: none !important;
}
#top_panel #alerts_dropdown_count {
	position: absolute;
	top: 2px;
	right: 3px;
	min-width: 14px;
	height: 14px;
	line-height: 14px;
	padding: 0 4px;
	border-radius: 10px;
	background: #d80000;
	color: #ffffff;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
}
#top_panel #alerts_dropdown_panel {
	position: absolute;
	top: 36px;
	right: 0;
	width: 330px;
	background: #ffffff;
	border: 1px solid #dddddd;
	box-shadow: 0 4px 12px rgba(0,0,0,0.18);
	z-index: 999999;
	overflow: hidden;
}
#top_panel .alerts-dropdown-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	background: #d80000;
	color: #ffffff;
}
#top_panel .alerts-dropdown-header-title {
	display: block;
	margin: 0;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
}
#top_panel .alerts-dropdown-header-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}
#top_panel .alerts-dropdown-period-select {
	height: 24px;
	min-width: 58px;
	padding: 0 18px 0 4px;
	border: none;
	outline: none;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 2px center;
	background-size: 10px 6px;
	color: #ffffff;
	font-size: 12px;
	font-weight: bold;
	line-height: 24px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
}
#top_panel .alerts-dropdown-period-select::-ms-expand {
	display: none;
}
#top_panel .alerts-dropdown-period-select option {
	color: #333333;
	background: #ffffff;
}
#top_panel .alerts-dropdown-close {
	display: inline-block !important;
	width: 16px;
	height: 16px;
	padding: 0 !important;
	margin: 0;
	background: transparent !important;
	border: none;
	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: bold;
	line-height: 14px;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
}
#top_panel .alerts-dropdown-close:hover {
	opacity: 0.85;
	background: transparent !important;
}
#top_panel .alerts-dropdown-list {
	max-height: 330px;
	overflow-y: auto;
	background: #ffffff;
}
#top_panel .alerts-dropdown-loading,
#top_panel .alerts-dropdown-empty {
	padding: 16px 12px;
	text-align: center;
	color: #777777;
}
#top_panel .alerts-dropdown-item {
	padding: 10px 12px;
	border-top: 1px solid #f0f0f0;
	font-size: 12px;
	line-height: 1.45;
	color: #555555;
}
#top_panel .alerts-dropdown-item:first-child {
	border-top: none;
}
#top_panel .alerts-dropdown-title {
	margin-bottom: 6px;
	font-weight: bold;
	color: #333333;
}
#top_panel .alerts-dropdown-meta {
	margin-top: 3px;
}
#top_panel .alerts-dropdown-action {
	margin-top: 8px;
}
#top_panel .alerts-dropdown-action a {
	display: inline-block;
	padding: 0 !important;
	color: #2b82d4;
	text-decoration: none;
	background: transparent !important;
}
#top_panel .alerts-dropdown-action a:hover {
	text-decoration: underline;
}
.saudi-plate-mini {
	display: flex;
	width: 104px;
	height: 34px;
	margin-top: 2px;
	border: 1px solid #1f1f1f;
	border-radius: 3px;
	background: #ffffff;
	overflow: hidden;
	font-family: Arial, sans-serif;
	box-sizing: border-box;
	flex-shrink: 0;
}
.saudi-plate-mini .saudi-plate-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.7;
}
.saudi-plate-mini .saudi-plate-row {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 0;
	padding: 0 4px;
	font-weight: 700;
	font-size: 10px;
	line-height: 1.7;
	border-bottom: 1px solid #1f1f1f;
	white-space: nowrap;
	box-sizing: border-box;
}
.saudi-plate-mini .saudi-plate-row.en {
	border-bottom: 0;
	font-size: 9px;
}
.saudi-plate-mini .saudi-plate-row span:first-child {
	min-width: 37px;
	text-align: left;
}
.saudi-plate-mini .saudi-plate-row span:last-child {
	min-width: 28px;
	text-align: right;
}
.saudi-plate-mini .saudi-plate-side {
	width: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 7px;
	line-height: 1;
	font-weight: 700;
	border-left: 1px solid #1f1f1f;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	box-sizing: border-box;
}
.saudi-plate-yellow .saudi-plate-side { background: #f3c21b; }
.saudi-plate-blue .saudi-plate-side { background: #1f9bd1; color: #ffffff; }
.saudi-plate-green .saudi-plate-side { background: #1f8a43; color: #ffffff; }
.saudi-plate-red .saudi-plate-side,
.saudi-plate-temporary .saudi-plate-side { background: #d61f1f; color: #ffffff; }
.saudi-plate-orange .saudi-plate-side { background: #f28c22; color: #ffffff; }
.saudi-plate-white .saudi-plate-side { background: #f8f8f8; }
#side_panel_objects_object_list_grid .object-list-item.with-saudi-plate {
	height: 66px;
}
#side_panel_objects_object_list_grid .object-list-item.with-saudi-plate .left {
	width: 116px;
}

/* Dashboard chart visibility selector */
.dashboard-chart-settings-cell {
    position: relative;
    text-align: center;
}

#dashboard-chart-settings-button {
    min-width: 110px;
}

.dashboard-chart-settings-panel {
    display: none;
    position: absolute;
    top: 36px;
    right: 8px;
    z-index: 10050;
    min-width: 210px;
    max-width: 280px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #d7d7d7;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    text-align: left;
}

.dashboard-chart-settings-title {
    font-weight: bold;
    margin-bottom: 8px;
}

.dashboard-chart-settings-panel label {
    display: block;
    line-height: 22px;
    white-space: nowrap;
    cursor: pointer;
}

.dashboard-chart-settings-panel input[type="checkbox"] {
    width: auto;
    margin: 0 6px 0 0;
    vertical-align: middle;
}

/* Authentication hardening: CAPTCHA and TOTP setup */
#login .wrapper .inner-wrapper .content {
    height: 340px;
    min-height: 340px;
    overflow: hidden;
}
#login .wrapper .inner-wrapper .content .content-block {
    height: 340px;
    min-height: 340px;
}
#login .connect-captcha {
    display: flex;
    justify-content: center;
    min-height: 70px;
}
#login .connect-verification-code-container .verification-legend,
#login .connect-verification-code-container .verification-countdown,
#login .connect-verification-code-container .verification-action {
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 10px 0;
    text-align: center;
}
.totp-enrollment-box {
    margin-top: 10px;
}
.totp-enrollment-box .totp-qr {
    display: block;
    margin: 8px auto 12px auto;
    max-width: 190px;
    width: 100%;
    height: auto;
}
.recovery-codes-list {
    white-space: pre-wrap;
    background: #ffffff;
    border: 1px solid #dedede;
    padding: 10px;
    line-height: 1.6;
    font-family: monospace;
}
@media (max-width: 520px) {
    #login .wrapper .inner-wrapper {
        width: calc(100% - 40px);
        margin: 20px auto;
    }

    #login .footer.login-footer {
        flex-wrap: wrap;
        row-gap: 8px;
    }

    #login .login-footer-links {
        max-width: 100%;
    }

    #login .login-footer-language {
        margin-left: auto;
    }
}

/* Top panel two-row layout after menu labels */
:root {
	--top-panel-main-row-height: 36px;
	--top-panel-status-row-height: 34px;
	--top-panel-height: 70px;
	--top-panel-bg: #ffffff;
	--top-panel-status-bg: #fafafa;
	--top-panel-border: #e7e7e7;
}

#top_panel {
	display: block;
	height: var(--top-panel-height);
	overflow: visible;
	background: var(--top-panel-bg);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	direction: ltr;
}

#top_panel::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: var(--top-panel-main-row-height);
	height: var(--top-panel-status-row-height);
	background: var(--top-panel-status-bg);
	border-top: 1px solid var(--top-panel-border);
	border-bottom: 1px solid var(--top-panel-border);
	box-sizing: border-box;
	z-index: 20;
	pointer-events: none;
}

#top_panel .tp-menu.left-menu {
	float: none;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	height: var(--top-panel-main-row-height);
	min-width: 0;
	overflow: hidden;
	padding: 0 8px 0 0;
	box-sizing: border-box;
	background: var(--top-panel-bg);
	position: relative;
	z-index: 22;
}

#top_panel .tp-menu.right-menu {
	float: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	position: absolute;
	top: var(--top-panel-main-row-height);
	right: 0;
	left: auto;
	height: var(--top-panel-status-row-height);
	min-width: 0;
	max-width: calc(100% - 270px);
	padding: 3px 8px 3px 0;
	background: transparent;
	box-sizing: border-box;
	z-index: 25;
}

#top_panel .tp-menu > div {
	float: none;
	flex: 0 0 auto;
	height: 100%;
	display: flex;
	align-items: center;
}

#top_panel .tp-menu > div > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	line-height: 16px;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

#top_panel .tp-menu > div > a img {
	flex: 0 0 auto;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
}

#top_panel .top-panel-menu-label {
	display: inline-block;
	float: none;
	width: auto;
	max-width: 92px;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	color: #555f68;
	font-size: 11px;
	font-weight: 600;
	line-height: 16px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#top_panel .rilogbook-btn .top-panel-menu-label,
#top_panel .dtc-btn .top-panel-menu-label,
#top_panel .cmd-btn .top-panel-menu-label,
#top_panel .gallery-btn .top-panel-menu-label,
#top_panel .search-btn .top-panel-menu-label {
	max-width: 105px;
}

#top_panel .left-menu > div > a:hover .top-panel-menu-label,
#top_panel .left-menu > div > a.active .top-panel-menu-label {
	color: #2b82d4;
}

#top_panel .cpanel-btn .top-panel-menu-label,
#top_panel .billing-btn .top-panel-menu-label,
#top_panel .billing-btn-red .top-panel-menu-label,
#top_panel .logout-btn .top-panel-menu-label {
	color: #ffffff;
}

#top_panel .top_panel_dashboard_wrap {
	position: absolute;
	top: var(--top-panel-main-row-height);
	left: 8px;
	display: flex;
	align-items: center;
	gap: 6px;
	height: var(--top-panel-status-row-height);
	padding: 0;
	background: transparent;
	box-sizing: border-box;
	z-index: 24;
}

#top_panel .top_panel_dashboard_item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 7px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	border-radius: 2px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

#top_panel .top_panel_dashboard_item.selected {
	border-color: #2b82d4;
	box-shadow: 0 0 0 1px rgba(43, 130, 212, 0.25);
}

/* Track210: live object-status counter colors requested by the client. */
#top_panel #top_panel_dashboard_total {
	background-color: #51396a;
	color: #ffffff;
}
#top_panel #top_panel_dashboard_moving {
	background-color: rgb(77, 167, 77);
}
#top_panel #top_panel_dashboard_offline {
	background-color: rgb(175, 216, 248);
	color: #444444;
}
#top_panel #top_panel_dashboard_idle {
	background-color: rgb(187, 123, 255);
}
#top_panel #top_panel_dashboard_stopped {
	background-color: rgb(223, 100, 100);
}
#top_panel #top_panel_dashboard_no_data {
	background-color: #9b9b9b;
}

#top_panel #top_panel_dashboard_total:hover,
#top_panel #top_panel_dashboard_moving:hover,
#top_panel #top_panel_dashboard_idle:hover,
#top_panel #top_panel_dashboard_stopped:hover,
#top_panel #top_panel_dashboard_no_data:hover {
	color: #ffffff;
	filter: brightness(0.96);
}
#top_panel #top_panel_dashboard_offline:hover {
	color: #444444;
	filter: brightness(0.96);
}

/* Object status details popup opened from the colored top counters. */
.object-status-details-dialog {
	padding: 10px !important;
	box-sizing: border-box;
	overflow: hidden !important;
}

.object-status-details-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 10px 0;
}

.object-status-details-summary {
	font-size: 12px;
	font-weight: 600;
	color: #444444;
}

.object-status-details-export {
	min-width: 105px;
	cursor: pointer;
}

.object-status-details-table-wrap {
	height: calc(100% - 42px);
	overflow: auto;
	border: 1px solid #e3e3e3;
	box-sizing: border-box;
}

.object-status-details-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 11px;
}

.object-status-details-table th {
	position: sticky;
	top: 0;
	z-index: 2;
	padding: 8px 7px;
	background: #333333;
	color: #ffffff;
	font-weight: 600;
	text-align: left;
}

.object-status-details-table td {
	padding: 7px;
	border-bottom: 1px solid #ededed;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}

.object-status-details-table th:nth-child(1) { width: 24%; }
.object-status-details-table th:nth-child(2) { width: 22%; }
.object-status-details-table th:nth-child(3) { width: 16%; }
.object-status-details-table th:nth-child(4) { width: 24%; }
.object-status-details-table th:nth-child(5) { width: 14%; }

.object-status-details-loading,
.object-status-details-empty {
	padding: 25px !important;
	text-align: center;
	color: #888888;
}

.object-status-details-badge {
	display: inline-block;
	min-width: 70px;
	padding: 3px 7px;
	border-radius: 10px;
	text-align: center;
	font-size: 10px;
	font-weight: 600;
	color: #ffffff;
	box-sizing: border-box;
}
.object-status-details-badge.status-moving { background: rgb(77, 167, 77); }
.object-status-details-badge.status-offline { background: rgb(175, 216, 248); color: #444444; }
.object-status-details-badge.status-idle { background: rgb(187, 123, 255); }
.object-status-details-badge.status-stopped { background: rgb(223, 100, 100); }
.object-status-details-badge.status-no_data { background: #9b9b9b; }
.object-status-details-badge.status-maintenance { background: rgb(255, 166, 77); }

#top_panel .right-menu > div,
#top_panel .right-menu > div > a {
	flex-shrink: 0;
}

#top_panel .right-menu > div > a {
	height: 28px;
	padding-top: 0;
	padding-bottom: 0;
}

#top_panel time-widget {
	display: flex;
	align-items: center;
	height: 28px;
	margin: 0 6px 0 0;
	padding: 0 8px;
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid #e5e5e5;
	border-radius: 2px;
	box-sizing: border-box;
	white-space: nowrap;
}

#top_panel .right-menu select,
#top_panel .right-menu .select-language,
#top_panel .right-menu .select-view {
	height: 28px;
	min-height: 28px;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 28px;
	box-sizing: border-box;
}

#top_panel .right-menu .select-view {
	width: 150px;
}

#top_panel .right-menu .chat-btn span,
#top_panel .right-menu .billing-btn span,
#top_panel .right-menu .billing-btn-red span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none;
	height: 18px;
	min-width: 18px;
	margin: 0 0 0 6px;
	padding: 0 4px;
	line-height: 18px;
}

#top_panel .right-menu .user-btn span {
	display: inline-block;
	float: none;
	margin-top: 0;
	line-height: 16px;
	vertical-align: middle;
}

#top_panel .right-menu .cpanel-btn a,
#top_panel .right-menu .billing-btn a,
#top_panel .right-menu .billing-btn-red a,
#top_panel .right-menu .logout-btn a {
	height: 34px;
	margin-top: -3px;
	margin-bottom: -3px;
}

#side_panel,
#side_panel_dragbar,
#map,
#cpanel_manage_server {
	top: var(--top-panel-height);
}

#top_panel #alerts_dropdown_panel {
	top: var(--top-panel-status-row-height);
}

.dashboard_block_input,
.dashboard_block_input_filter,
.dashboard_block_period {
	margin-top: var(--top-panel-height);
}

@media (max-width: 1700px) {
	#top_panel .top-panel-menu-label {
		max-width: 70px;
		font-size: 10px;
	}
	#top_panel .rilogbook-btn .top-panel-menu-label,
	#top_panel .dtc-btn .top-panel-menu-label,
	#top_panel .cmd-btn .top-panel-menu-label,
	#top_panel .gallery-btn .top-panel-menu-label,
	#top_panel .search-btn .top-panel-menu-label {
		max-width: 84px;
	}
	#top_panel .tp-menu > div > a {
		gap: 5px;
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media (max-width: 1450px) {
	#top_panel .top-panel-menu-label {
		display: none;
	}
	#top_panel .tp-menu > div > a {
		gap: 0;
		padding-left: 12px;
		padding-right: 12px;
	}
	#top_panel .tp-menu.right-menu {
		max-width: calc(100% - 230px);
	}
	#top_panel .top_panel_dashboard_wrap {
		gap: 4px;
		left: 6px;
	}
	#top_panel .top_panel_dashboard_item {
		min-width: 22px;
		height: 22px;
		padding-left: 6px;
		padding-right: 6px;
		font-size: 14px;
		line-height: 22px;
	}
}

@media (max-width: 1050px) {
	#top_panel .right-menu .user-btn span,
	#top_panel time-widget,
	#top_panel .right-menu .select-view {
		display: none;
	}
	#top_panel .tp-menu.right-menu {
		max-width: calc(100% - 210px);
	}
}

@media (max-width: 900px) {
	#top_panel {
		height: var(--top-panel-main-row-height);
		overflow: hidden;
	}
	#top_panel::after,
	#top_panel .tp-menu.right-menu,
	#top_panel .top_panel_dashboard_wrap {
		display: none;
	}
	#side_panel,
	#side_panel_dragbar,
	#map,
	#cpanel_manage_server {
		top: var(--top-panel-main-row-height);
	}
}


/* Final placement for the 6 object status counters in the second top row */
#top_panel .top_panel_dashboard_wrap {
	position: fixed !important;
	top: var(--top-panel-main-row-height, 36px) !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	height: var(--top-panel-status-row-height, 34px) !important;
	padding: 0 8px !important;
	background: transparent !important;
	box-sizing: border-box !important;
	z-index: 26 !important;
	pointer-events: auto;
}

#top_panel .top_panel_dashboard_item {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 26px;
	height: 24px;
	padding: 0 8px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	border-radius: 2px;
	border: 1px solid rgba(0, 0, 0, 0.10);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

@media (max-width: 1300px) {
	#top_panel .top_panel_dashboard_wrap {
		left: 42% !important;
		gap: 4px !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}

	#top_panel .top_panel_dashboard_item {
		min-width: 23px;
		height: 22px;
		padding-left: 6px;
		padding-right: 6px;
		font-size: 14px;
		line-height: 22px;
	}
}

@media (max-width: 900px) {
	#top_panel .top_panel_dashboard_wrap {
		display: none !important;
	}
}

/* CPanel top panel should stay compact. The two-row tracking layout is only for /tracking.php. */
body#cpanel {
	--top-panel-main-row-height: 36px;
	--top-panel-status-row-height: 0px;
	--top-panel-height: 36px;
}

body#cpanel #top_panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--top-panel-height);
	min-height: var(--top-panel-height);
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

body#cpanel #top_panel::after {
	display: none;
}

body#cpanel #top_panel .tp-menu.left-menu,
body#cpanel #top_panel .tp-menu.right-menu {
	float: none;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	height: var(--top-panel-height);
	min-height: var(--top-panel-height);
	padding: 0;
	background: transparent;
	box-sizing: border-box;
	z-index: 22;
}

body#cpanel #top_panel .tp-menu.left-menu {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: auto;
	min-width: 0;
	flex: 1 1 auto;
	justify-content: flex-start;
	overflow: hidden;
}

body#cpanel #top_panel .tp-menu.right-menu {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	width: auto;
	min-width: 0;
	max-width: none;
	flex: 0 0 auto;
	justify-content: flex-end;
	overflow: visible;
}

body#cpanel #top_panel .tp-menu > div {
	float: none;
	display: flex;
	align-items: center;
	height: var(--top-panel-height);
	min-height: var(--top-panel-height);
}

body#cpanel #top_panel .tp-menu > div > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--top-panel-height);
	min-height: var(--top-panel-height);
	padding-top: 0;
	padding-bottom: 0;
	box-sizing: border-box;
}

body#cpanel #top_panel .tp-menu > div > a img,
body#cpanel #top_panel .user-btn img,
body#cpanel #top_panel .user-list-btn img,
body#cpanel #top_panel .object-list-btn img,
body#cpanel #top_panel .billing-plan-list-btn img,
body#cpanel #top_panel .unused-object-list-btn img {
	float: none;
	margin-top: 0;
	margin-bottom: 0;
}

body#cpanel #top_panel .user-btn span,
body#cpanel #top_panel .user-list-btn span,
body#cpanel #top_panel .object-list-btn span,
body#cpanel #top_panel .billing-plan-list-btn span,
body#cpanel #top_panel .unused-object-list-btn span {
	float: none;
	display: inline-block;
	margin-top: 0;
	line-height: 16px;
}

body#cpanel #top_panel .select-language,
body#cpanel #top_panel .select-language.cp,
body#cpanel #top_panel .select-view,
body#cpanel #top_panel time-widget {
	display: flex;
	align-items: center;
	height: 28px;
	min-height: 28px;
	margin-top: 0;
	margin-bottom: 0;
	box-sizing: border-box;
}

body#cpanel #top_panel .select-language,
body#cpanel #top_panel .select-language.cp,
body#cpanel #top_panel .select-view {
	padding-top: 0;
	padding-bottom: 0;
	line-height: 28px;
}

body#cpanel #top_panel .top_panel_dashboard_wrap {
	display: none !important;
}

body#cpanel #top_panel #alerts_dropdown_panel {
	top: var(--top-panel-height);
}

/* CPanel list header spacing: keep title/search area below the compact top panel. */
body#cpanel #cpanel_user_list,
body#cpanel #cpanel_object_list,
body#cpanel #cpanel_unused_object_list,
body#cpanel #cpanel_billing_plan_list {
	padding-top: 34px;
}

body#cpanel #cpanel_user_list .inputbox-search,
body#cpanel #cpanel_object_list .inputbox-search,
body#cpanel #cpanel_unused_object_list .inputbox-search,
body#cpanel #cpanel_billing_plan_list .inputbox-search {
	vertical-align: middle;
}

/* CPanel manager selector: keep account/e-mail values readable when the list is opened. */
body#cpanel #top_panel,
body#cpanel #top_panel .tp-menu.left-menu,
body#cpanel #top_panel .select-view {
	overflow: visible;
}

body#cpanel #top_panel .select-view {
	width: 270px;
	min-width: 270px;
	max-width: 340px;
	padding-left: 6px;
	padding-right: 6px;
	position: relative;
	z-index: 80;
}

body#cpanel #top_panel #cpanel_manager_list,
body#cpanel #top_panel .select-view select {
	width: 100%;
	min-width: 270px;
	box-sizing: border-box;
}

body#cpanel #top_panel .select-view .ms-parent {
	width: 270px !important;
	min-width: 270px !important;
	max-width: 340px;
}

body#cpanel #top_panel .select-view .ms-choice {
	width: 100%;
	height: 24px;
	line-height: 24px;
	box-sizing: border-box;
}

body#cpanel #top_panel .select-view .ms-choice > span {
	max-width: calc(100% - 24px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body#cpanel #top_panel .select-view .ms-drop {
	width: auto !important;
	min-width: 270px !important;
	max-width: 420px;
	z-index: 99999999;
}

body#cpanel #top_panel .select-view .ms-drop ul,
body#cpanel #top_panel .select-view .ms-drop li,
body#cpanel #top_panel .select-view .ms-drop label {
	white-space: nowrap;
}

@media (max-width: 1100px) {
	body#cpanel #top_panel .select-view {
		width: 220px;
		min-width: 220px;
	}

	body#cpanel #top_panel #cpanel_manager_list,
	body#cpanel #top_panel .select-view select,
	body#cpanel #top_panel .select-view .ms-parent,
	body#cpanel #top_panel .select-view .ms-drop {
		width: 220px !important;
		min-width: 220px !important;
	}
}


/* Final fixes for cpanel manager spacing and tracking map selector position */
body#cpanel #top_panel .select-view {
	margin-right: 12px;
}

body#cpanel #top_panel .tp-menu.left-menu > div:not(.select-view):first-of-type {
	margin-left: 0;
}

body#tracking .map-layer-control {
	top: calc(var(--top-panel-height, 70px) + 12px) !important;
	right: 10px !important;
	z-index: 18;
}

body#tracking .map-layer-control .ms-parent,
body#tracking .map-layer-control .ms-choice,
body#tracking .map-layer-control select {
	min-height: 28px;
	line-height: 28px;
}

body#tracking .map-layer-control .ms-choice > span {
	line-height: 28px;
}

@media (max-width: 900px) {
	body#tracking .map-layer-control {
		top: calc(var(--top-panel-main-row-height, 36px) + 10px) !important;
	}
}
/* =========================================================
   Track279: General search
   - Replaces the old address-only search with a global search.
   - Keeps a compact search entry pinned in the tracking top bar.
   ========================================================= */
#top_panel .general-search-topbar {
	display: flex;
	align-items: center;
	gap: 7px;
	width: min(320px, 25vw);
	min-width: 230px;
	height: 32px;
	box-sizing: border-box;
	padding: 0 5px 0 10px;
	background: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 9px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
	flex: 0 1 320px;
}

#top_panel .general-search-topbar-icon {
	width: 17px;
	height: 17px;
	flex: 0 0 17px;
	opacity: 0.75;
}

#top_panel #general_search_topbar_input {
	min-width: 0;
	width: 100%;
	height: 28px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: #3f3f3f;
	font-size: 12px;
	font-weight: 500;
}

#top_panel #general_search_topbar_input::placeholder {
	color: #8a8a8a;
	opacity: 1;
}

#top_panel .general-search-topbar-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	padding: 0;
	border: 0;
	border-radius: 7px;
	background: #6c4c83;
	cursor: pointer;
	flex: 0 0 25px;
}

#top_panel .general-search-topbar-submit:hover {
	background: #7c5a94;
}

#top_panel .general-search-topbar-submit img {
	width: 13px;
	height: 13px;
	transform: rotate(45deg);
}

.general-search-dialog {
	width: 100%;
	box-sizing: border-box;
}

/* Track295: the General Search popup is intentionally wider so vehicle
   metadata stays readable instead of stacking on top of adjacent rows. */
.ui-dialog[aria-describedby="dialog_address_search"] {
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
}

.general-search-query-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.general-search-dialog-input {
	flex: 1 1 auto;
	min-width: 0;
	height: 34px !important;
	box-sizing: border-box;
}

.general-search-dialog-submit {
	flex: 0 0 auto;
	min-width: 92px;
}

.general-search-help {
	margin: 8px 0 10px;
	font-size: 11px;
	line-height: 1.45;
	color: #777777;
}

.general-search-results {
	max-height: min(430px, calc(100vh - 235px));
	overflow-y: auto;
	border: 1px solid #e1e1e1;
	border-radius: 6px;
	background: #ffffff;
}

.general-search-section-title {
	padding: 8px 10px 6px;
	border-bottom: 1px solid #eeeeee;
	background: #f7f7f7;
	color: #686868;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.35px;
}

.general-search-result-item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	height: auto !important;
	padding: 8px 10px;
	box-sizing: border-box;
	border: 0;
	border-bottom: 1px solid #eeeeee;
	background: #ffffff;
	text-align: left;
	line-height: normal;
	cursor: pointer;
}
.general-search-result-item:last-child {
	border-bottom: 0;
}

.general-search-result-item:hover,
.general-search-result-item:focus {
	background: #f6f2f9;
	outline: none;
}
.general-search-show-more {
	display: block;
	width: 100%;
	padding: 7px 10px;
	box-sizing: border-box;
	border: 0;
	border-bottom: 1px solid #eeeeee;
	background: #fafafa;
	color: #6c4c83;
	font-size: 11px;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
}

.general-search-show-more:hover,
.general-search-show-more:focus {
	background: #f3eef6;
	outline: none;
}

.general-search-result-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 700;
	flex: 0 0 28px;
}

.general-search-result-icon-vehicle {
	background: #f1e8f6;
	color: #5f3f74;
}

.general-search-result-icon-address {
	background: #e8f2f7;
	color: #42697b;
}

.general-search-result-content {
	display: block;
	min-width: 0;
	flex: 1 1 auto;
}

.general-search-result-title,
.general-search-result-meta {
	display: block;
	overflow: hidden;
}

.general-search-result-title {
	color: #3e3e3e;
	font-size: 12px;
	font-weight: 700;
	line-height: 16px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.general-search-result-meta {
	margin-top: 2px;
	color: #7c7c7c;
	font-size: 10px;
	font-weight: 400;
	line-height: 14px;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}
.general-search-empty,
.general-search-loading {
	padding: 18px 12px;
	text-align: center;
	color: #777777;
	font-size: 11px;
}

.general-search-loading {
	padding: 9px 12px;
	border-top: 1px solid #eeeeee;
	background: #fafafa;
}

.general-search-footer {
	margin-top: 10px;
	text-align: center;
}
@media (max-width: 620px) {
	.general-search-query-row {
		flex-wrap: wrap;
	}

	.general-search-dialog-submit {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 1300px) {
	#top_panel .general-search-topbar {
		width: 240px;
		min-width: 190px;
		flex-basis: 240px;
	}
	#top_panel #general_search_topbar_input {
		font-size: 11px;
	}
}

@media (max-width: 1040px) {
	#top_panel .general-search-topbar {
		display: none;
	}
}

/* =========================================================
   Track286: Window Disappeared / responsive single-row header
   - Keep the tracking top panel on one row at every desktop zoom level.
   - Keep the six object-status counters visible instead of moving them
     into a second row or hiding them at responsive breakpoints.
   - Position map overlays from the real tracking-header height so the
     History controls cannot be covered by the header.
   - Scoped to #tracking; CPanel keeps its existing compact layout.
   ========================================================= */
body#tracking {
	--top-panel-main-row-height: 44px;
	--top-panel-status-row-height: 0px;
	--top-panel-height: 44px;
}

body#tracking #top_panel {
	display: flex !important;
	align-items: center;
	flex-wrap: nowrap;
	height: var(--top-panel-height) !important;
	min-height: var(--top-panel-height);
	overflow: visible !important;
	box-sizing: border-box;
}

body#tracking #top_panel::after {
	display: none !important;
}

/* Left navigation and the status counters share the same row. */
body#tracking #top_panel .tp-menu.left-menu {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	float: none !important;
	display: flex !important;
	align-items: center;
	flex-wrap: nowrap;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	height: 100% !important;
	padding: 0 4px !important;
	overflow: hidden !important;
	background: transparent;
	box-sizing: border-box;
}

body#tracking #top_panel .tp-menu.left-menu > div:not(.top_panel_dashboard_wrap) {
	flex: 0 1 auto;
	min-width: 0;
}

body#tracking #top_panel .tp-menu > div {
	height: 100%;
	min-height: 0;
}

body#tracking #top_panel .tp-menu > div > a {
	height: 100%;
	min-height: 0;
	padding-left: 8px;
	padding-right: 8px;
}

/* Counters stay in-flow and are never hidden by the old <=900px rule. */
body#tracking #top_panel .top_panel_dashboard_wrap {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto;
	align-self: stretch;
	height: 100% !important;
	margin: 0 0 0 auto !important;
	padding: 0 5px !important;
	gap: 5px !important;
	background: transparent !important;
	box-sizing: border-box !important;
	z-index: auto !important;
}

body#tracking #top_panel .top_panel_dashboard_item {
	min-width: 27px;
	height: 24px;
	padding: 0 7px;
	font-size: 14px;
	line-height: 24px;
	white-space: nowrap;
}

/* Search remains in the row while there is room; it yields before counters. */
body#tracking #top_panel .general-search-topbar {
	position: relative;
	flex: 0 1 280px;
	width: min(280px, 21vw);
	min-width: 170px;
	height: 32px;
	margin: 0 6px;
}

/* Right-side controls remain on the same line and keep dropdown overflow. */
body#tracking #top_panel .tp-menu.right-menu {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	float: none !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	flex: 0 0 auto;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	height: 100% !important;
	padding: 0 4px !important;
	overflow: visible !important;
	background: transparent;
	box-sizing: border-box;
}

body#tracking #top_panel .right-menu > div,
body#tracking #top_panel .right-menu > div > a {
	height: 100%;
}

body#tracking #top_panel .right-menu > div > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-top: 0;
	padding-bottom: 0;
}

body#tracking #top_panel .right-menu .cpanel-btn a,
body#tracking #top_panel .right-menu .billing-btn a,
body#tracking #top_panel .right-menu .billing-btn-red a,
body#tracking #top_panel .right-menu .logout-btn a {
	height: 100%;
	margin-top: 0;
	margin-bottom: 0;
}

body#tracking #top_panel #alerts_dropdown_panel {
	top: var(--top-panel-height) !important;
}

/* The map workspace always starts below the one-row header. */
body#tracking #side_panel,
body#tracking #side_panel_dragbar,
body#tracking #map,
body#tracking #cpanel_manage_server {
	top: var(--top-panel-height) !important;
}

/* Map overlays are offset from the map's top edge, not from legacy 36/46px values. */
body#tracking .history-view-control {
	position: fixed;
	top: calc(var(--top-panel-height) + 10px) !important;
	z-index: 30;
}

body#tracking .map-layer-control {
	top: calc(var(--top-panel-height) + 10px) !important;
}

/* Keep dashboard/filter popups below the current header height. */
body#tracking .dashboard_block_input,
body#tracking .dashboard_block_input_filter,
body#tracking .dashboard_block_period {
	margin-top: var(--top-panel-height) !important;
}

/* Progressive compaction: keep one row and preserve the status counters. */
@media (max-width: 1550px) {
	body#tracking #top_panel .tp-menu > div > a {
		padding-left: 7px;
		padding-right: 7px;
	}
	body#tracking #top_panel .top_panel_dashboard_wrap {
		gap: 4px !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
	}
	body#tracking #top_panel .top_panel_dashboard_item {
		min-width: 25px;
		padding-left: 6px;
		padding-right: 6px;
	}
}

@media (max-width: 1300px) {
	body#tracking #top_panel .tp-menu > div > a {
		padding-left: 6px;
		padding-right: 6px;
	}
	body#tracking #top_panel .general-search-topbar {
		flex-basis: 190px;
		width: 190px;
		min-width: 145px;
		margin-left: 4px;
		margin-right: 4px;
	}
	body#tracking #top_panel .top_panel_dashboard_item {
		min-width: 23px;
		height: 22px;
		padding-left: 5px;
		padding-right: 5px;
		font-size: 13px;
		line-height: 22px;
	}
}

/* Search yields first when browser zoom reduces the effective viewport. */
@media (max-width: 1180px) {
	body#tracking #top_panel .general-search-topbar {
		display: none !important;
	}
	body#tracking #top_panel .tp-menu > div > a {
		padding-left: 5px;
		padding-right: 5px;
	}
}

@media (max-width: 900px) {
	body#tracking #top_panel {
		display: flex !important;
		height: var(--top-panel-height) !important;
		min-height: var(--top-panel-height) !important;
		overflow: visible !important;
	}
	body#tracking #top_panel .tp-menu.right-menu,
	body#tracking #top_panel .top_panel_dashboard_wrap {
		display: flex !important;
	}
	body#tracking #top_panel .tp-menu > div > a {
		padding-left: 4px;
		padding-right: 4px;
	}
	body#tracking #side_panel,
	body#tracking #side_panel_dragbar,
	body#tracking #map,
	body#tracking #cpanel_manage_server {
		top: var(--top-panel-height) !important;
	}
}

@media (max-width: 760px) {
	body#tracking #top_panel .tp-menu > div > a {
		padding-left: 3px;
		padding-right: 3px;
	}
	body#tracking #top_panel .top_panel_dashboard_wrap {
		gap: 2px !important;
		padding-left: 3px !important;
		padding-right: 3px !important;
	}
	body#tracking #top_panel .top_panel_dashboard_item {
		min-width: 20px;
		height: 20px;
		padding-left: 4px;
		padding-right: 4px;
		font-size: 12px;
		line-height: 20px;
	}
}

/* Track286 responsive priority rules. Re-apply the intended legacy hiding
   order after the single-row flex rules so low-priority controls yield space
   before navigation icons or status counters can be clipped. */
body#tracking .history-view-control {
	left: max(10px, min(413px, calc(100vw - 206px)));
}

@media (max-width: 1100px) {
	body#tracking #top_panel .right-menu .user-btn {
		display: none !important;
	}
}

@media (max-width: 1050px) {
	body#tracking #top_panel time-widget,
	body#tracking #top_panel .right-menu .select-view,
	body#tracking #top_panel .right-menu .select-language {
		display: none !important;
	}
}

@media (max-width: 950px) {
	body#tracking #top_panel .right-menu .billing-btn,
	body#tracking #top_panel .right-menu .billing-btn-red {
		display: none !important;
	}
}

@media (max-width: 850px) {
	body#tracking #top_panel .right-menu .cpanel-btn,
	body#tracking #top_panel .right-menu .mobile-btn,
	body#tracking #top_panel .right-menu .logout-btn {
		display: none !important;
	}
}
