:root {
	--sms-primary: #3c8dbc;
	--sms-primary-hover: #fe8510;
	--sms-text: #646b72;
	--sms-heading: #212b36;
	--sms-border: #e6eaed;
	--sms-bg: #f7f7f7;
}

/* POS application shell controls */
.app-version-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid #e6edf2;border-radius:6px;background:#f8fbff;color:#334155;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.app-version-badge:hover,.app-version-badge:focus{border-color:#3c8dbc;color:#3c8dbc;background:#fff;outline:0}
.header-left #toggle_btn{display:flex!important;z-index:1002}
#sidebar .sidebar-menu ul li,#sidebar .sidebar-menu ul li+li,#sidebar .sidebar-menu .submenu-open,#sidebar .sidebar-menu .submenu-open+.submenu-open{border:0!important;border-top:0!important;border-bottom:0!important}

/* POS shared form components */
.pos-date-control{position:relative;width:100%}.pos-date-control>.form-control{padding-right:38px}.input-groupicon.calender-input>i{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#646B72;z-index:3;pointer-events:none}.bootstrap-datetimepicker-widget{font-family:"Nunito",sans-serif;border:1px solid #E6EAED!important;border-radius:8px!important;box-shadow:0 10px 30px rgba(15,23,42,.12)!important;padding:8px!important;z-index:1070!important}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background:#3c8dbc!important;color:#fff}.bootstrap-datetimepicker-widget table td.today:before{border-bottom-color:#3c8dbc!important}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eef6fb!important;color:#212B36;border-radius:5px}.bootstrap-datetimepicker-widget .picker-switch{font-weight:700;color:#212B36}
.pass-group{position:relative;width:100%}.pass-group .form-control{padding-right:50px!important}.pass-group .toggle-password{display:flex!important;align-items:center;justify-content:center;position:absolute!important;top:50%!important;right:10px!important;transform:translateY(-50%)!important;width:30px;height:30px;border-radius:50%;cursor:pointer;color:#212B36;font-size:16px;z-index:5;background:transparent}.pass-group .toggle-password:hover,.pass-group .toggle-password:focus{color:#3c8dbc;background:#eef6fb;outline:0}.pass-group .form-control.is-invalid{padding-right:76px!important}.pass-group .form-control.is-invalid~.toggle-password{right:34px!important}
.pos-file-upload{min-height:72px;border:1px dashed rgba(145,158,171,.45)!important;border-radius:5px!important;position:relative;overflow:hidden;background:#fff}.pos-file-upload:hover{background:#F7F7F7!important;border-color:#3c8dbc!important}.pos-file-upload input[type=file]{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;z-index:9;cursor:pointer}.pos-file-upload .image-uploads{position:relative!important;inset:auto!important;min-height:70px;padding:10px 16px!important;display:flex;align-items:center;justify-content:center;gap:8px;color:#A6AAAF;pointer-events:none}.pos-file-upload .image-uploads h4{margin:0;color:#646B72;font-size:14px;font-weight:600}.pos-file-upload .pos-file-name{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#A6AAAF}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single,.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#3c8dbc!important;box-shadow:0 0 0 .15rem rgba(60,141,188,.12)}.select2-search--dropdown{padding:8px}.select2-search--dropdown .select2-search__field{height:36px;border:1px solid #E6EAED!important;border-radius:5px;padding:6px 10px}.select2-results__option{padding:8px 12px;font-size:14px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:#eef6fb;border-color:#d4e8f4;color:#3c8dbc;border-radius:4px}.select2-container--open{z-index:1060}.form-control:disabled,.form-select:disabled,.select2-container--disabled .select2-selection{background:#F1F3F5!important;color:#9CA3AF!important;cursor:not-allowed}.form-control.is-invalid,.form-select.is-invalid{border-color:#EA5455!important}.invalid-feedback{font-size:12px;color:#EA5455}.form-check-input{width:18px;height:18px;border-color:#B8BCC9}.form-switch .form-check-input{width:36px;border-radius:20px}.form-check-input:focus{border-color:#3c8dbc;box-shadow:0 0 0 .15rem rgba(60,141,188,.12)}

/* POS table action icons */
.table td .btn.btn-sm:has(>i.ti:only-child){width:34px;height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border:1px solid #E6EAED!important;border-radius:5px!important;background:#fff!important;color:#212B36!important;box-shadow:none!important}
.table td .btn.btn-sm:has(>i.ti:only-child) i{font-size:14px;line-height:1}
.table td .btn.btn-sm:has(>i.ti:only-child):hover,.table td .btn.btn-sm:has(>i.ti:only-child):focus{background:#E6EAED!important;color:#212B36!important}
.table td form.d-inline{vertical-align:middle}
body {
	font-family: "Nunito", sans-serif !important;
	font-size: 14px;
	color: var(--sms-text);
	background: var(--sms-bg) !important;
}
.main-wrapper {
	min-height: 100vh;
}
.page-header {
	margin-bottom: 24px;
}
.page-header .page-title h4 {
	font-size: 20px;
	color: var(--sms-heading);
	font-weight: 700;
}
.page-header .page-title h6 {
	font-size: 14px;
	color: #646b72;
	font-weight: 400;
	margin-top: 5px;
}
.copyright-footer {
	margin-top: 24px;
	padding: 16px 24px;
}
.sidebar .sidebar-menu ul li a.active,
.sidebar .sidebar-menu ul li.active > a {
	background: #3c8dbc !important;
	color: #fff !important;
}
.sidebar .sidebar-menu ul li a.active i,
.sidebar .sidebar-menu ul li.active > a i {
	color: #fff !important;
}
.page-wrapper .content > .d-flex:first-of-type h5,
.page-wrapper .content > h5 {
	color: #212b36;
}
.card-box,
.stat-card {
	background: #fff;
	border: 1px solid var(--sms-border) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
.card-box {
	padding: 20px;
}
.stat-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px;
	height: 100%;
}
.stat-card .stat-icon {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}
.stat-card .val {
	font-size: 22px;
	font-weight: 700;
	color: #212b36;
}
.stat-card .lbl {
	font-size: 13px;
	color: #646b72;
}
.card {
	border: 1px solid var(--sms-border) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
.shadow-sm {
	box-shadow: none !important;
}
.btn {
	border-radius: 5px;
	font-size: 14px;
	font-weight: 600;
	min-height: 38px;
	padding: 7px 14px;
}
.btn-sm {
	min-height: 30px;
	padding: 4px 9px;
	font-size: 13px;
}
.btn-primary,
.btn-accent,
.nav-pills .nav-link.active {
	background: #3c8dbc !important;
	border-color: #3c8dbc !important;
	color: #fff !important;
}
.btn-primary:hover,
.btn-accent:hover {
	background: #fe8510 !important;
	border-color: #fe8510 !important;
}
.btn-outline-primary {
	color: #3c8dbc;
	border-color: #3c8dbc;
}
.btn-outline-primary:hover {
	background: #3c8dbc;
	border-color: #3c8dbc;
}
.form-control,
.form-select {
	min-height: 40px;
	border-color: #e6eaed;
	color: #212b36;
	background-color: #fff;
	font-size: 14px;
	border-radius: 0.35rem;
	padding: 0.45rem 0.85rem;
}
.form-control:focus,
.form-select:focus {
	border-color: #3c8dbc;
	box-shadow: 0 0 0 0.15rem rgba(60, 141, 188, 0.12);
}
.form-label,
label {
	font-size: 14px;
	font-weight: 500;
	color: #212b36;
}
.input-group-text {
	border-color: #e6eaed;
	background: #f9fafb;
	color: #646b72;
}
.form-check-input:checked {
	background-color: #3c8dbc;
	border-color: #3c8dbc;
}
.table-responsive {
	border-radius: 8px;
}
.table {
	color: #646b72;
	border-color: #e6eaed;
	margin-bottom: 0;
}
.table thead tr th {
	font-weight: 600;
	font-size: 14px;
	background: #e6eaed !important;
	color: #212b36;
	border-bottom: 0;
	padding: 10px 20px;
	white-space: nowrap;
}
.table td {
	padding: 10px 20px;
	vertical-align: middle;
	font-size: 13px;
	white-space: nowrap;
}
.table tbody tr:hover td {
	background: #fafbfd;
}
.badge {
	border-radius: 5px;
	font-weight: 600;
	padding: 5px 8px;
}
.code-badge,
.idcard-tpl-badge {
	display: inline-flex;
	padding: 4px 8px;
	border-radius: 5px;
	background: #eef6fb;
	color: #3c8dbc;
	border: 1px solid #d4e8f4;
	font-size: 12px;
	font-weight: 700;
}
.nav-pills {
	gap: 8px;
}
.nav-pills .nav-link {
	border-radius: 5px;
	padding: 8px 14px;
	font-weight: 600;
	color: #212b36;
}
.pagination .page-link {
	color: #3c8dbc;
	border-color: #e6eaed;
	min-width: 34px;
	text-align: center;
}
.pagination .active .page-link {
	background: #3c8dbc;
	border-color: #3c8dbc;
}
.dropdown-menu {
	border: 0;
	border-radius: 8px;
	box-shadow: 0 4px 60px rgba(231, 231, 231, 0.8);
}
.modal-content {
	border: 0;
	border-radius: 8px;
}
.modal-header,
.modal-footer {
	border-color: #e6eaed;
}
.modal-title {
	font-size: 18px;
	font-weight: 700;
}
.alert {
	border-radius: 6px;
}
.select2-container {
	width: 100% !important;
}
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
	min-height: 40px;
	border: 1px solid #e6eaed !important;
	border-radius: 0.35rem !important;
	padding: 5px 10px;
}
.select2-container--default
	.select2-selection--single
	.select2-selection__rendered {
	line-height: 28px;
	color: #212b36;
}
.select2-container--default
	.select2-selection--single
	.select2-selection__arrow {
	height: 38px;
}
.select2-dropdown {
	border-color: #e6eaed;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
}
.select2-container--default
	.select2-results__option--highlighted[aria-selected] {
	background: #3c8dbc;
}
.ajs-notifier .ajs-message {
	border: 0 !important;
	border-radius: 6px !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18) !important;
	font-family: "Nunito", sans-serif !important;
	font-weight: 600 !important;
}
.ajs-notifier .ajs-message.ajs-success {
	background: #28c76f !important;
	color: #fff !important;
}
.ajs-notifier .ajs-message.ajs-error {
	background: #ea5455 !important;
	color: #fff !important;
}
.ajs-notifier .ajs-message.ajs-warning {
	background: #ff9f43 !important;
	color: #fff !important;
}
#pos-page-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	z-index: 12000;
	pointer-events: none;
}
.pos-page-progress-bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #3c8dbc, #38bdf8, #0f172a);
	transition: width 0.2s;
}
.pos-loading .pos-page-progress-bar {
	width: 75%;
}
@media (max-width: 991.98px) {
	.sidebar {
		margin-left: -252px !important;
		transition: all 0.2s;
	}
	.slide-nav .sidebar {
		margin-left: 0 !important;
	}
	.slide-nav .sidebar-overlay {
		display: block;
		position: fixed;
		inset: 65px 0 0;
		background: rgba(15, 23, 42, 0.45);
		z-index: 998;
	}
	.page-wrapper {
		margin-left: 0 !important;
	}
	.header .user-menu {
		display: none;
	}
	.header .mobile-user-menu {
		display: block;
	}
	.page-header {
		margin-bottom: 18px;
	}
	.page-wrapper .content {
		padding: 15px;
	}
	.card-box {
		padding: 15px;
	}
	.table td,
	.table thead tr th {
		padding: 10px 12px;
	}
}
@media (max-width: 575.98px) {
	.page-header .page-title h4 {
		font-size: 18px;
	}
	.d-flex.justify-content-between {
		gap: 10px;
		flex-wrap: wrap;
	}
	.btn {
		white-space: nowrap;
	}
	.card-box {
		border-radius: 6px !important;
	}
	.stat-card {
		padding: 14px;
	}
	.modal-dialog {
		margin: 10px;
	}
	.copyright-footer {
		justify-content: center !important;
		text-align: center;
	}
	.copyright-footer p {
		width: 100%;
	}
}
@media print {
	.header,
	.sidebar,
	.page-header,
	.copyright-footer,
	#pos-page-progress {
		display: none !important;
	}
	.page-wrapper {
		margin: 0 !important;
		padding: 0 !important;
	}
	.page-wrapper .content {
		padding: 0 !important;
	}
}
