:root,
[data-bs-theme=light] {
    /* --bs-body-font-size: 14px; */
	--bs-font-sans-serif: 'Vazirmatn', system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Noto Color Emoji";
    --bs-font-monospace: "Vazir Code Hack", SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace,"Noto Color Emoji";
}

:root {
    color-scheme: dark;
    --bs-toast-bg-rgb: 0, 0, 0;
}

[data-bs-theme=light] {
    color-scheme: light;
    --bs-toast-bg-rgb: 255, 255, 255;
}

[data-bs-theme=light] .bg-by-scheme {
    background-color: white;
}
[data-bs-theme=dark] .bg-by-scheme {
    background-color: black;
}

html,
body {
    width: 100%;
    height: 100%;
    font-size: var(--bs-body-font-size);
    overscroll-behavior: none;
}

@media (display-mode: standalone) {
	html,
	body {
		width: 100vw;
		height: 100vh;
	}
}

.bi, .bi::before, [class*=" bi-"]::before, [class^=bi-]::before {
	display: inline-block;
	font-family: bootstrap-icons!important;
	font-style: normal;
	font-weight: 400!important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.disabled {
	pointer-events: none;
}

[dir="ltr"] {
	direction: ltr !important;
}

.form-signin {
	max-width: 330px;
	padding: 15px;
}

.form-signin .form-floating:focus-within {
	z-index: 2;
}

.form-signin input[type="email"] {
	margin-bottom: -1px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
	margin-bottom: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.cursor-pointer {
	cursor: pointer;
}

.toast {
    left: 50%;
    position: fixed;
    transform: translate(-50%, 0px);
	background-color: rgba(var(--bs-toast-bg-rgb), 0.55);
    pointer-events: none;
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
    box-shadow: none;
    border: 0;
}

.modal {
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
}

#loader {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    display: none;
	background-color: rgba(var(--bs-toast-bg-rgb), 0.55);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
    z-index: 9999999;
}

#loader .spinner {
    -webkit-animation: rotate 2s linear infinite;
            animation: rotate 2s linear infinite;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px;
}
#loader .spinner .path {
    stroke: #93bfec;
    stroke-linecap: round;
    -webkit-animation: dash 1.5s ease-in-out infinite;
            animation: dash 1.5s ease-in-out infinite;
}

@-webkit-keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}
@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}
@-webkit-keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}
@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

#searchBox {
	--bs-btn-search-bg: url("data:image/svg+xml,%3Csvg%20height%3D%22100%25%22%20viewBox%3D%2264%2064%20896%20896%22%20width%3D%22100%25%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M960%2C928C960%2C936.667%20956.833%2C944.167%20950.5%2C950.5C944.167%2C956.833%20936.667%2C960%20928%2C960C919.333%2C960%20911.833%2C956.833%20905.5%2C950.5L641%2C686C609.667%2C712.333%20574.583%2C732.583%20535.75%2C746.75C496.917%2C760.917%20457%2C768%20416%2C768C383.667%2C768%20352.5%2C763.833%20322.5%2C755.5C292.5%2C747.167%20264.5%2C735.333%20238.5%2C720C212.5%2C704.667%20188.75%2C686.25%20167.25%2C664.75C145.75%2C643.25%20127.333%2C619.5%20112%2C593.5C96.6667%2C567.5%2084.8333%2C539.5%2076.5%2C509.5C68.1667%2C479.5%2064%2C448.333%2064%2C416C64%2C383.667%2068.1667%2C352.5%2076.5%2C322.5C84.8333%2C292.5%2096.6667%2C264.5%20112%2C238.5C127.333%2C212.5%20145.75%2C188.75%20167.25%2C167.25C188.75%2C145.75%20212.5%2C127.333%20238.5%2C112C264.5%2C96.6667%20292.5%2C84.8334%20322.5%2C76.5C352.5%2C68.1667%20383.667%2C64.0001%20416%2C64C448.333%2C64.0001%20479.5%2C68.1667%20509.5%2C76.5C539.5%2C84.8334%20567.5%2C96.6667%20593.5%2C112C619.5%2C127.333%20643.25%2C145.75%20664.75%2C167.25C686.25%2C188.75%20704.667%2C212.5%20720%2C238.5C735.333%2C264.5%20747.167%2C292.5%20755.5%2C322.5C763.833%2C352.5%20768%2C383.667%20768%2C416C768%2C457%20760.917%2C496.917%20746.75%2C535.75C732.583%2C574.583%20712.333%2C609.667%20686%2C641L950.5%2C905.5C956.833%2C911.833%20960%2C919.333%20960%2C928ZM704%2C416C704%2C389.667%20700.583%2C364.25%20693.75%2C339.75C686.917%2C315.25%20677.25%2C292.333%20664.75%2C271C652.25%2C249.667%20637.167%2C230.167%20619.5%2C212.5C601.833%2C194.833%20582.333%2C179.75%20561%2C167.25C539.667%2C154.75%20516.75%2C145.083%20492.25%2C138.25C467.75%2C131.417%20442.333%2C128%20416%2C128C376.333%2C128%20339%2C135.583%20304%2C150.75C269%2C165.917%20238.5%2C186.5%20212.5%2C212.5C186.5%2C238.5%20165.917%2C269%20150.75%2C304C135.583%2C339%20128%2C376.333%20128%2C416C128%2C456%20135.5%2C493.5%20150.5%2C528.5C165.5%2C563.5%20186%2C594%20212%2C620C238%2C646%20268.5%2C666.5%20303.5%2C681.5C338.5%2C696.5%20376%2C704%20416%2C704C455.667%2C704%20493%2C696.417%20528%2C681.25C563%2C666.083%20593.5%2C645.5%20619.5%2C619.5C645.5%2C593.5%20666.083%2C563%20681.25%2C528C696.417%2C493%20704%2C455.667%20704%2C416Z%22%20fill%3D%22%23000000%22%20fill-opacity%3D%221%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    padding-right: 3rem;
	background: transparent var(--bs-btn-search-bg) right/1.3em auto no-repeat;
    background-position: bottom 50% right 0.75rem;
}

[data-bs-theme=dark] #searchBox {
	--bs-btn-search-bg: url("data:image/svg+xml,%3Csvg%20height%3D%22100%25%22%20viewBox%3D%2264%2064%20896%20896%22%20width%3D%22100%25%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M960%2C928C960%2C936.667%20956.833%2C944.167%20950.5%2C950.5C944.167%2C956.833%20936.667%2C960%20928%2C960C919.333%2C960%20911.833%2C956.833%20905.5%2C950.5L641%2C686C609.667%2C712.333%20574.583%2C732.583%20535.75%2C746.75C496.917%2C760.917%20457%2C768%20416%2C768C383.667%2C768%20352.5%2C763.833%20322.5%2C755.5C292.5%2C747.167%20264.5%2C735.333%20238.5%2C720C212.5%2C704.667%20188.75%2C686.25%20167.25%2C664.75C145.75%2C643.25%20127.333%2C619.5%20112%2C593.5C96.6667%2C567.5%2084.8333%2C539.5%2076.5%2C509.5C68.1667%2C479.5%2064%2C448.333%2064%2C416C64%2C383.667%2068.1667%2C352.5%2076.5%2C322.5C84.8333%2C292.5%2096.6667%2C264.5%20112%2C238.5C127.333%2C212.5%20145.75%2C188.75%20167.25%2C167.25C188.75%2C145.75%20212.5%2C127.333%20238.5%2C112C264.5%2C96.6667%20292.5%2C84.8334%20322.5%2C76.5C352.5%2C68.1667%20383.667%2C64.0001%20416%2C64C448.333%2C64.0001%20479.5%2C68.1667%20509.5%2C76.5C539.5%2C84.8334%20567.5%2C96.6667%20593.5%2C112C619.5%2C127.333%20643.25%2C145.75%20664.75%2C167.25C686.25%2C188.75%20704.667%2C212.5%20720%2C238.5C735.333%2C264.5%20747.167%2C292.5%20755.5%2C322.5C763.833%2C352.5%20768%2C383.667%20768%2C416C768%2C457%20760.917%2C496.917%20746.75%2C535.75C732.583%2C574.583%20712.333%2C609.667%20686%2C641L950.5%2C905.5C956.833%2C911.833%20960%2C919.333%20960%2C928ZM704%2C416C704%2C389.667%20700.583%2C364.25%20693.75%2C339.75C686.917%2C315.25%20677.25%2C292.333%20664.75%2C271C652.25%2C249.667%20637.167%2C230.167%20619.5%2C212.5C601.833%2C194.833%20582.333%2C179.75%20561%2C167.25C539.667%2C154.75%20516.75%2C145.083%20492.25%2C138.25C467.75%2C131.417%20442.333%2C128%20416%2C128C376.333%2C128%20339%2C135.583%20304%2C150.75C269%2C165.917%20238.5%2C186.5%20212.5%2C212.5C186.5%2C238.5%20165.917%2C269%20150.75%2C304C135.583%2C339%20128%2C376.333%20128%2C416C128%2C456%20135.5%2C493.5%20150.5%2C528.5C165.5%2C563.5%20186%2C594%20212%2C620C238%2C646%20268.5%2C666.5%20303.5%2C681.5C338.5%2C696.5%20376%2C704%20416%2C704C455.667%2C704%20493%2C696.417%20528%2C681.25C563%2C666.083%20593.5%2C645.5%20619.5%2C619.5C645.5%2C593.5%20666.083%2C563%20681.25%2C528C696.417%2C493%20704%2C455.667%20704%2C416Z%22%20fill%3D%22%23999999%22%20fill-opacity%3D%221%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
}

.btn-print {
	--bs-btn-print-color: #000;
	--bs-btn-print-bg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M2.5%208a.5.5%200%201%200%200-1%20.5.5%200%200%200%200%201z%22%2F%3E%3Cpath%20d%3D%22M5%201a2%202%200%200%200-2%202v2H2a2%202%200%200%200-2%202v3a2%202%200%200%200%202%202h1v1a2%202%200%200%200%202%202h6a2%202%200%200%200%202-2v-1h1a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-1V3a2%202%200%200%200-2-2H5zM4%203a1%201%200%200%201%201-1h6a1%201%200%200%201%201%201v2H4V3zm1%205a2%202%200%200%200-2%202v1H2a1%201%200%200%201-1-1V7a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3a1%201%200%200%201-1%201h-1v-1a2%202%200%200%200-2-2H5zm7%202v3a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1v-3a1%201%200%200%201%201-1h6a1%201%200%200%201%201%201z%22%2F%3E%3C%2Fsvg%3E");
	--bs-btn-print-opacity: 0.5;
	--bs-btn-print-hover-opacity: 0.75;
	--bs-btn-print-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	--bs-btn-print-focus-opacity: 1;
	--bs-btn-print-disabled-opacity: 0.25;
	--bs-btn-print-white-filter: invert(1) grayscale(100%) brightness(200%);
	box-sizing: content-box;
	width: 1em;
	height: 1em;
	padding: .25em .25em;
	color: var(--bs-btn-print-color);
	background: transparent var(--bs-btn-print-bg) center/1.3em auto no-repeat;
	border: 0;
	border-radius: .375rem;
	opacity: var(--bs-btn-print-opacity)
}

.btn-print:hover {
	color: var(--bs-btn-print-color);
	text-decoration: none;
	opacity: var(--bs-btn-print-hover-opacity)
}

.btn-print:focus {
	outline: 0;
	box-shadow: var(--bs-btn-print-focus-shadow);
	opacity: var(--bs-btn-print-focus-opacity)
}

.btn-print.disabled,.btn-print:disabled {
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	opacity: var(--bs-btn-print-disabled-opacity)
}

[data-bs-theme=dark] .btn-print {
	filter: var(--bs-btn-print-white-filter)
}

.modal-header .btn-print {
	padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
	margin: calc(-.5 * var(--bs-modal-header-padding-y)) auto calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x));
}

.g-1px,.gx-1px {
	--bs-gutter-x: 1px;
}
.g-1px,.gy-1px {
	--bs-gutter-y: 1px;
}

.text-shadow {
    text-shadow: 0 1px 0 black;
}

.ptr {
    position: relative;
    height: 0;
    overflow: hidden;
    background: var(--bs-body-bg);
    text-align: center;
}
.ptr svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 50px;
    fill: none;
    stroke: var(--bs-tertiary-bg);
    stroke-linecap: round;
    stroke-width: 8%;
    transform: translate(-50%, -50%);
}
.ptr svg use {
    stroke: var(--bs-body-color);
}
.ptr.animate svg use {
    stroke-dasharray: 1570 5143 !important;
    animation: ptr 2s linear infinite;
}

@keyframes ptr { to { stroke-dashoffset: 0px } }

a.page-link {
    cursor: pointer;
}

.pagination-nav {
    position: sticky;
    bottom: 1rem;
    text-align: center;
}

.pagination-nav .pagination-holder {
    display: inline-block;
    padding: calc(var(--bs-border-radius) * 1.5);
    border-radius: var(--bs-border-radius);
    background-color: rgba(var(--bs-body-bg-rgb), 0.55);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    backdrop-filter: saturate(180%) blur(10px);
}

.pagination-nav .pagination {
    --bs-pagination-bg: rgba(var(--bs-body-bg-rgb), 0.65);
    --bs-pagination-hover-bg: rgba(var(--bs-tertiary-bg-rgb), 0.65);
    --bs-pagination-disabled-bg: rgba(var(--bs-secondary-bg-rgb), 0.65);
}

.select2:focus-visible {
	outline: 0;
}

.select2-container {
    z-index: 10000;
}

.select2-container--default .select2-selection--single {
    color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: 4px;
}

.select2-dropdown {
    color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: currentColor;
	line-height: 38px;
}

.select2-container .select2-selection--single {
	height: 38px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	display: block;
	width: 100%;
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
	background-clip: padding-box;
	border: var(--bs-border-width) solid var(--bs-border-color);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: .375rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
	color: var(--bs-body-color);
	background-color: var(--bs-body-bg);
	border-color: #86b7fe;
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(13,110,253,.25)
}

.select2-search--dropdown {
	padding: 8px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 36px;
	width: 36px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: currentColor transparent transparent transparent;
	border-style: solid;
	border-width: 6px 5px 0 5px;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent currentColor transparent;
	border-width: 0 5px 6px 5px
}

.select2-container--default .select2-results__option--selected {
	background-color: var(--bs-body-bg)
}

[data-client] {
    --client-enable-rgb: 108, 117, 125;
    --client-paused-rgb: 255, 193, 7;
    --client-expired-rgb: 220, 53, 69;

    display: block;
    position: relative;
    padding: 1rem;
    border-radius: var(--bs-border-radius);
    text-decoration: none;
    box-sizing: border-box;
    color: #fff;
    -webkit-touch-callout: none;
    user-select: none;
    -webkit-user-select: none;
}

[data-client].is-enable {
	background-color: rgb(var(--client-enable-rgb));
}

[data-client].is-paused {
	background-color: rgb(var(--client-paused-rgb));
}

[data-client].is-expired {
	background-color: rgb(var(--client-expired-rgb));
}

[data-client].selected {
    outline: var(--bs-cyan) var(--bs-border-radius) solid;
}

.hide-codes [data-client] .card-title {
    filter: blur(4px);
}

.hide-codes #clientInfoModal [rel="copy-attr"] > div > img {
    filter: blur(8px);
}

.hide-codes #clientInfoModal [rel="copy-attr"] > div > div {
    filter: blur(4px);
}

.hide-codes .blurable {
    filter: blur(10px);
}