.form-control {
	background-color: var(--input-bg);
	color: var(--input-text);
	border: 1px solid var(--input-border);
	border-radius: 4px;
	padding: 6px 8px;
	height: 35px !important;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.form-control:focus {
	background-color: var(--surface);
	border-color: var(--input-focus);
	outline: none;
	-webkit-box-shadow: 0 0 0 2px rgba(31, 111, 229, 0.15);
	box-shadow: 0 0 0 2px rgba(31, 111, 229, 0.15);
}

.form-control:disabled,
.form-control[disabled] {
	background-color: var(--input-bg-disabled);
	color: var(--text-color);
	opacity: 1;
}

input.form-control[readonly],
input.form-control:read-only {
	background-color: var(--input-bg-disabled);
	color: var(--text-color);
	opacity: 1;
}

.has-success .form-control,
.form-control.ng-valid,
.form-control.ng-valid:focus {
	border-color: var(--input-border) !important;
	box-shadow: none !important;
}

.input-group .form-control {
	background-color: var(--input-bg) !important;
	color: var(--input-text);
}

.input-group .form-control:focus {
	background-color: var(--surface) !important;
}

.input-group .form-control:disabled,
.input-group .form-control[disabled] {
	background-color: var(--input-bg-disabled) !important;
}

pre {
	background-color: var(--input-bg);
	color: var(--input-text);
}

.label-header {
	margin-top: 10px;
	margin-bottom: 0;
	color: var(--text-dark);
}

.form-group {
	margin-bottom: 15px;
}

.row-near,
.form-horizontal .form-group {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.help-block {
	line-height: 34px;
}

.form-results-wrapper {
	white-space: nowrap;
	overflow: hidden;
}

.forms-results-table {
	overflow-x: auto;
	white-space: nowrap;
}

.forms-results-table .forms-results-inside {
	width: 100%;
	max-width: 100%;
	display: inline-flex;
}

.normal {
	margin: 0;
	display: inline-block;
	line-height: 34px;
}

.text-select {
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	color: var(--text-secondary);
}

.pre-lista {
	line-height: inherit;
	color: inherit;
	background-color: inherit;
	border: 0;
	border-radius: inherit;
	padding: inherit;
	margin: 0;
}

.label-search {
	text-align: center;
	font-size: 16px;
	line-height: 1.1;
	font-weight: 500;
	white-space: normal;
	display: block;
	margin-bottom: 0;
	color: var(--text-primary);
}

.label-center {
	text-align: center !important;
}

div.multiline-select .ui-select-bootstrap .ui-select-choices-row>span,
td.multiline-select .ui-select-bootstrap .ui-select-choices-row>span {
	white-space: normal;
}

td.multiline-select .ui-select-bootstrap .ui-select-match>span.btn {
	white-space: normal;
	height: auto;
}

.disabled {
	cursor: not-allowed;
	opacity: .5;
}

.ui-select-placeholder {
	color: var(--text-color);
	font-size: 12px;
	vertical-align: bottom;
}

.ui-select-bootstrap .text-select {
	color: var(--text-color);
}

.ui-select-bootstrap span.btn-default {
	cursor: default;
}

.btn,
.form-control {
	font-size: 12px;
}

/* =================================
   CHECKBOX
================================= */

input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;

	width: 18px !important;
	height: 18px !important;

	display: inline-block;
	position: relative;
	flex-shrink: 0;

	margin: 0 5px 0 0;

	background-color: var(--surface);
	border: 1px solid var(--input-border);
	border-radius: 3px;

	vertical-align: middle;
	cursor: pointer;

	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}

input[type="checkbox"]:checked {
	background-color: var(--btn-color);
	border-color: var(--btn-color);
}

input[type="checkbox"]:checked::after {
	content: "";

	position: absolute;

	top: 20%;

	left: 40%;

	width: 4px;
	height: 9px;

	border: solid #fff;
	border-width: 0 2px 2px 0;

	transform: rotate(45deg);
}

input[type="checkbox"]:hover:not(:disabled) {
	border-color: var(--input-focus);
}

input[type="checkbox"]:focus {
	outline: none;

	box-shadow:
		0 0 0 2px rgba(31, 111, 229, 0.15);
}

input[type="checkbox"]:disabled {
	background-color: var(--input-bg-disabled);
	border-color: var(--input-border);

	cursor: not-allowed;
	opacity: 0.65;
}

input[type="checkbox"]:checked:disabled {
	background-color: var(--text-color);
	border-color: var(--text-color);
}


/* =========================================================
   CRON STEPPER
   ========================================================= */

.cron-card {
    padding: 15px;
}

.cron-card .cron-tabs .tab-content {
    padding-top: 15px;
}

.cron-tabs .nav-tabs .fa-check {
    margin-right: 0;
    margin-left: 6px;
}

.cron-option {
    display: grid;
    grid-template-columns:
        minmax(180px, 0.8fr) minmax(0, 2fr);

    align-items: center;
    gap: 12px 20px;

    margin-bottom: 10px;
    padding: 14px 16px;

    background-color: var(--background);
    border: 1px solid var(--border-color);
    border-radius: 6px;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.cron-option:hover {
    background-color: var(--surface-hover);
}

.cron-option.active {
    background-color: var(--surface-focus);
    border-color: var(--input-focus);
    box-shadow: inset 3px 0 0 var(--text-active);
}

.cron-option-fields {
    grid-column: 2;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;

    min-width: 0;
    color: var(--text-secondary);
}

.cron-option-fields .form-control {
    display: inline-block;
    width: auto;
    margin: 0;
}

.cron-option-fields .form-control-xs {
    width: 76px;
    min-width: 76px;
}

.cron-option-fields .form-control-sm {
    width: 160px;
    min-width: 130px;
}

.cron-option-fields .checkbox-inline,
.cron-option-fields .checkbox-inline+.checkbox-inline {
    margin: 0;
}

.cron-step-actions {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--border-color);
}

.cron-result-row {
    margin: 0 0 15px;
    padding: 0 0 30px;
    border-bottom: 1px solid var(--border-color);
}

.cron-result-row .row {
    margin-left: -5px;
    margin-right: -5px;
}

.cron-result-row [class*="col-"] {
    padding-left: 5px;
    padding-right: 5px;
}

.cron-result-row .form-group {
    margin-bottom: 0;
}

.cron-card .alert {
    margin-top: 0;
    margin-bottom: 15px;
}

@media (max-width: 767px) {
    .cron-card {
        padding: 10px;
    }

    .cron-option {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .cron-option-fields {
        grid-column: 1;
    }

    .cron-option-fields .form-control-sm {
        width: 100%;
        min-width: 0;
    }
}