/**
 * Converts a given value to a percentage string.
 *
 * @param {Number} $value - The value to be converted to a percentage.
 * @return {String} - The percentage representation of the value.
 */
/**
 * Generates a transparent version of the given color.
 *
 * @param {Color} $color - The base color to be made transparent.
 * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.
 * @return {Color} - The resulting color with the specified transparency.
 */
:root {
    --tblr-btn-color: var(--fc-button-text-color);
    --tblr-btn-border-color: var(--tblr-border-color);
}


.noUi-target {
    border: 0;
    box-shadow: none;
    background: none;
    border-radius: 0;
    color: var(--tblr-primary);
}

.noUi-horizontal {
    height: 1.25rem;
    padding: 0.5rem 0;
}

.noUi-base {
    background: var(--tblr-border-color);
    border-radius: 1rem;
}

.noUi-handle {
    width: 1rem;
    height: 1rem;
    border: 2px var(--tblr-border-style) #ffffff;
    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
    border-radius: 1rem;
    background: currentColor;
    outline: 0;
}

.noUi-handle:before, .noUi-handle:after {
    content: none;
}

.noUi-horizontal .noUi-handle {
    width: 1rem;
    height: 1rem;
    top: -0.5rem;
    right: -0.5rem;
    margin: 1px 1px 0 0;
}

.noUi-handle.noUi-active, .noUi-handle:focus {
    box-shadow: 0 0 0 1px #f9fafb, 0 0 0 0.25rem rgba(var(--tblr-primary-rgb), 0.25);
}

.noUi-connect {
    background: currentColor;
}

.apexcharts-tooltip {
    box-shadow: none !important;
}

.jvm-tooltip {
    background: var(--tblr-bg-surface-inverted);
    color: var(--tblr-text-inverted);
    font-family: inherit;
    font-size: 0.75rem;
    box-shadow: var(--tblr-shadow-card);
}

.jvm-series-container .jvm-legend .jvm-legend-title {
    border-bottom: 0;
    font-weight: var(--tblr-font-weight-medium);
}

.jvm-series-container .jvm-legend {
    background-color: var(--tblr-card-bg, var(--tblr-bg-surface));
    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);
    min-width: 8rem;
}

.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick {
    display: flex;
    align-items: center;
}

.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample {
    width: 0.75rem;
    height: 0.75rem;
}

.jvm-zoom-btn {
    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);
    background: var(--tblr-card-bg, var(--tblr-bg-surface));
    color: var(--tblr-body-color);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1rem;
    box-shadow: var(--tblr-shadow-card);
}

.jvm-zoom-btn.jvm-zoomout {
    top: 2.5rem;
}

.dropzone {
    border: var(--tblr-border-width) dashed var(--tblr-border-color) !important;
    color: var(--tblr-secondary) !important;
    padding: 1rem !important;
}

.dropzone.dz-drag-hover {
    border: var(--tblr-border-width) dashed var(--tblr-primary);
    background: rgba(var(--tblr-primary-rgb), 0.01);
    color: var(--tblr-primary);
}

.dropzone.dz-drag-hover .dz-message {
    opacity: 1;
}

.dropzone .dz-preview {
    margin: 0.5rem;
}

.dropzone .dz-preview .dz-image {
    border-radius: var(--tblr-border-radius);
}

.dropzone .dz-preview .dz-success-mark {
    height: 54px;
}

.fslightbox-container {
    font-family: inherit !important;
    background: var(--tblr-backdrop-bg) !important;
    backdrop-filter: blur(4px) !important;
}

.fslightbox-slide-number-container {
    color: inherit !important;
}

.fslightbox-slash {
    background: currentColor !important;
}

body {
    --plyr-color-main: var(--tblr-primary);
}

.tox-hugerte {
    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;
    border-radius: 6px !important;
    font-family: var(--tblr-font-sans-serif) !important;
}

.tox-toolbar__group {
    padding: 0 0.5rem 0;
}

.tox .tox-toolbar__primary {
    background: transparent !important;
}

.tox:not(.tox-hugerte-inline) .tox-editor-header {
    border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.tox-tbtn {
    margin: 0 !important;
    background: var(--tblr-bg-surface) !important;
}

.tox-tbtn:hover, .tox-tbtn.tox-tbtn--enabled {
    background: var(--tblr-bg-surface-secondary) !important;
}

.tox-edit-area::before {
    border: none !important;
}

.tox-statusbar {
    border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;
}

.tox .tox-toolbar-overlord,
.tox:not(.tox-hugerte-inline) .tox-editor-header {
    background: transparent !important;
}

:root {
    --gl-star-size: auto;
    --gl-star-color: var(--tblr-yellow);
    --gl-star-color-inactive: var(--tblr-border-color);
}

[data-star-rating] svg {
    width: var(--tblr-icon-size, --gl-star-size);
    height: var(--tblr-icon-size, --gl-star-size);
}

[data-star-rating] :not(.gl-active) > .gl-star-full {
    color: var(--gl-star-color-inactive) !important;
}

[data-star-rating] .gl-active > .gl-star-full {
    color: var(--gl-star-color);
    fill: currentColor;
    stroke: currentColor;
}

.clr-picker {
    box-shadow: var(--tblr-shadow-dropdown);
    background-color: var(--tblr-bg-surface);
    border-radius: var(--tblr-border-radius);
}

.clr-gradient {
    border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0;
}

input.clr-color {
    border-radius: var(--tblr-border-radius);
    color: var(--tblr-body-color);
    border-color: var(--tblr-border-color);
    background: transparent;
}

input.clr-color:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--tblr-primary-rgb), 0.25);
    border-color: rgba(var(--tblr-primary-rgb), 0.25);
}

.clr-swatches button {
    border-radius: var(--tblr-border-radius);
    padding: 0 2px 4px 2px;
}

.clr-swatches button:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--tblr-primary-rgb), 0.25);
}

.clr-preview {
    border-radius: var(--tblr-border-radius);
    overflow: visible;
}

.clr-preview button, .clr-preview:before, .clr-preview:after {
    border-radius: var(--tblr-border-radius);
}

.clr-preview button:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--tblr-primary-rgb), 0.25);
}

.clr-field {
    display: block;
}

.clr-field button {
    width: 1.5rem;
    height: 1.5rem;
    left: 6px;
    right: auto;
    border-radius: var(--tblr-border-radius);
}

.clr-field button:after {
    box-shadow: inset 0 0 0 1px var(--tblr-border-color-translucent);
}

.clr-field button:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(var(--tblr-primary-rgb), 0.25);
}

.clr-field input {
    padding-left: 2.5rem;
}

.typed-cursor {
    font-weight: 500;
    color: #6b7280;
}

.turbo-progress-bar {
    background: var(--tblr-primary);
}

:root {
    --fc-border-color: var(--tblr-border-color);
    --fc-daygrid-event-dot-width: 5px;
    --fc-event-bg-color: var(--tblr-primary-lt);
    --fc-event-border-color: var(--tblr-primary-200);
}

.fc-toolbar-title {
    font-size: var(--tblr-font-size-h3) !important;
    font-weight: var(--tblr-font-weight-medium);
}

.fc-daygrid-dot-event {
    background-color: var(--fc-event-bg-color);
    border: 1px solid var(--fc-event-border-color);
    padding-top: 1px;
    padding-bottom: 1px;
}

.fc-daygrid-dot-event .fc-event-title {
    font-weight: inherit;
}

/*.fc-h-event .fc-event-main {*/
/*    color: inherit;*/
/*}*/

.fc-col-header-cell {
    /*background-color: var(--tblr-bg-surface-secondary);*/
    color: var(--tblr-secondary);
    text-transform: uppercase;
    font-weight: var(--tblr-font-weight-medium);
    font-size: var(--tblr-font-size-h5);
    padding-top: 10px !important;
    padding-bottom: 5px !important;
    line-height: 1;
}

.fc-event-time {
    font-weight: var(--tblr-font-weight-bold) !important;
}

.fc-col-header-cell-cushion {
    color: inherit;
}

.fc-daygrid-day-number {
    color: var(--tblr-secondary);
}

.fc-button {
    --tblr-btn-padding-x: 1rem;
    --tblr-btn-padding-y: 0.4375rem;
    --tblr-btn-font-family: var(--tblr-font-sans-serif);
    --tblr-btn-font-size: 0.875rem;
    --tblr-btn-font-weight: var(--tblr-font-weight-medium);
    --tblr-btn-line-height: 1.4285714286;
    --tblr-btn-color: var(--tblr-body-color);
    --tblr-btn-bg: transparent;
    --tblr-btn-border-width: var(--tblr-border-width);
    --tblr-btn-border-color: transparent;
    --tblr-btn-border-radius: var(--tblr-border-radius);
    --tblr-btn-hover-border-color: transparent;
    --tblr-btn-box-shadow: var(--tblr-box-shadow-input);
    --tblr-btn-disabled-opacity: 0.4;
    --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);
    font-family: var(--tblr-btn-font-family);
    font-size: var(--tblr-btn-font-size);
    font-weight: var(--tblr-btn-font-weight);
    line-height: var(--tblr-btn-line-height);
    color: var(--tblr-btn-color);
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);
    border-radius: var(--tblr-btn-border-radius);
    background-color: var(--tblr-btn-bg);
    box-shadow: var(--tblr-btn-box-shadow);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.fc .fc-more-popover .fc-popover-body {
    padding: 0px;
}

.fc-theme-standard .fc-popover-header {
    background: none;
}

.fc .fc-popover-header {
    padding: 10px;
}

.fc-theme-standard .fc-popover {
    border: none;
}

.fc-popover-close.fc-icon.fc-icon-x::before {
    content: none;
}

.fc .fc-popover {
    z-index: 1;
    background: var(--tblr-bg-surface);
    box-shadow: var(--tblr-box-shadow-lg);
}

.fc-h-event .fc-event-main {
    color: inherit;
}

.fc-event.loss {
    border-left: 4px solid var(--tblr-youtube);
    padding-left: 6px;
    color: inherit;
    background-color: var(--tblr-youtube-lt);
}

.fc-event.profit {
    border-left: 4px solid var(--tblr-green);
    padding-left: 6px;
    color: inherit;
    background-color: var(--tblr-green-lt);
}

.fc .fc-daygrid-day-events {
    margin-top: 0;
}

.fc-daygrid-day.fc-day-today {
    background-color: transparent !important;
}

.fc .fc-daygrid-day-top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    /*min-height: 22px;*/
}

.fc-col-header-cell .fc-scrollgrid-sync-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    /*min-height: 22px;*/
}

.fc .fc-daygrid-day-number {
    padding: 0;
    font-size: 16px;
    text-align: center;
}

.fc-profit {
    width: 80px;
    text-align: center;
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    border-radius: 3px;
    line-height: 18px;
    white-space: nowrap;
}

.fc-news {
    position: absolute;
    display: flex;
    align-items: center;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    padding: 0 5px;
    border-radius: 3px;
    line-height: 18px;
    white-space: nowrap;
    background: rgba(59, 130, 246, .15); /* мягкий синий фон */
    color: #1e40af; /* тёмно-синий текст */
    cursor: pointer;
}

.fc-profit.profit {
    background: var(--tblr-green-lt);
}

.fc-profit.loss {
    background: var(--tblr-youtube-lt);
}


.fc-daygrid-day-number {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    text-align: center;
    margin: auto;
}

.fc table, .fc td, .fc th {
    border-color: var(--tblr-border-color-translucent);
}

.fc-theme-standard .fc-scrollgrid {
    /*border-radius: var(--tblr-border-radius-lg);*/
    border: none;
}

.fc .fc-scrollgrid-section > * {
    border-width: 0;
}

.fc .fc-event-title .icon {
    stroke-width: 1.2;
}


.fc-daygrid-block-event .fc-event-time, .fc-daygrid-block-event .fc-event-title {
    padding: 1px 0;
}

/* test */
.fc .fc-scrollgrid-sync-table {
    border-collapse: separate;
    border-spacing: 15px;
}

.fc .fc-scrollgrid-sync-table td {
    border-radius: 8px;
    box-shadow: rgb(0 0 0 / 3%) 2px 5px 8px 4px !important;
}

.fc-theme-standard td, .fc-theme-standard th {
    border: none;
}

.fc-daygrid-day-events::after, .fc-daygrid-day-events::before, .fc-daygrid-day-frame::after, .fc-daygrid-day-frame::before, .fc-daygrid-event-harness::after, .fc-daygrid-event-harness::before {
    content: none;
}

.fc .fc-daygrid-day-bottom::after, .fc .fc-daygrid-day-bottom::before {
    content: none;
}

/* end test */


/*  ***************************************************  */
/*  fullcalendar-custom (from https://htmlstream.com/front-dashboard/documentation/calendar.html) */
/* *************************************************** */


.fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    color: #fff;
    background-color: #377dff;
}

.fc-theme-standard .fc-list {
    border-color: rgba(231, 234, 243, .7)
}

.fc-theme-standard .fc-list .fc-list-event:hover td {
    background-color: transparent
}

.fc-theme-standard .fc-list .fc-list-day-text {
    color: #1e2022
}

.fc-theme-standard .fc-list .fc-list-day-side-text {
    color: #677788;
    font-weight: 400
}

.fc .fullcalendar-event-popover {
    width: 25rem;
    max-width: 25rem
}

.fc .fc-toolbar-chunk {
    flex: 1;
    display: flex;
    justify-content: center;
}

.fc .fc-toolbar-chunk:first-child {
    justify-content: flex-start;
}

.fc .fc-toolbar-chunk:last-child {
    justify-content: flex-end;
}


.fc .dropdown-menu {
    min-width: 18rem;
    overflow: auto;
}

/* ################# */
/* flatpickr */
/* ################# */

.flatpickr-calendar {
    background: var(--tblr-bg-surface);
    color: var(--tblr-body-color);
    border-color: var(--tblr-border-color);
    box-shadow: var(--tblr-box-shadow-lg);
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: none;
}

.flatpickr-calendar .numInputWrapper:hover {
    background: none;
}

.flatpickr-calendar .numInputWrapper span {
    border: none;
    background: none;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: var(--tblr-body-color);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: var(--tblr-body-color);
}

.flatpickr-weekdays span.flatpickr-weekday {
    color: var(--tblr-secondary);
}

.flatpickr-day {
    color: var(--tblr-body-color);
}

.flatpickr-day.today {
    color: var(--tblr-primary);
    border-color: var(--tblr-primary);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: var(--tblr-primary);
    border-color: var(--tblr-primary);
    color: #fff;
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
    border-color: var(--tblr-primary);
    background: var(--tblr-primary);
    color: #fff;
}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--tblr-primary);
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    outline: 0;
    background: var(--tblr-info-lt);
    border-color: var(--tblr-info-lt);
}

.flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 var(--tblr-info-lt), 5px 0 0 var(--tblr-info-lt);
    box-shadow: -5px 0 0 var(--tblr-info-lt), 5px 0 0 var(--tblr-info-lt);
}

.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: var(--tblr-disabled-color);
}

/* Стрелки месяцев */
.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    color: var(--tblr-body-color);
    fill: var(--tblr-body-color);
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
    fill: var(--tblr-primary);
}

.flatpickr-months .flatpickr-month {
    color: inherit;
}

/* Time picker (если включён) */
.flatpickr-time {
    background: var(--tblr-bg-surface);
    border-top-color: var(--tblr-border-color);
    color: var(--tblr-body-color);
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover {
    background: inherit;
}

.flatpickr-calendar.hasTime .flatpickr-time {
    height: 40px;
    border-top: 1px solid var(--tblr-border-color);
}

.flatpickr-time input.flatpickr-hour {
    font-weight: inherit;
}

.flatpickr-time input {
    color: inherit;
}


.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
    color: inherit;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: var(--tblr-body-color);
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    top: 50%;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: var(--tblr-body-color);
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
    border: none;
}


.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
    background: inherit;
}


/* ################# */
/* TinyMCE */
/* ################# */
/*.tox .tox-tinymce {*/
/*    border: var(--tblr-border-width) solid var(--tblr-border-color);*/
/*}*/

.tox-tinymce {

    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;
    border-radius: var(--tblr-border-radius-lg) !important;
}

.tox .tox-tbtn svg {
    fill: var(--tblr-body-color) !important;
}


.tox .tox-statusbar {
    background-color: var(--tblr-bg-forms) !important;
}

.tox .tox-tbtn {
    color: var(--tblr-body-color) !important;
}

.tox .tox-menu {
    background-color: var(--tblr-bg-forms) !important;
}


.tox .tox-collection__item-label {
    color: var(--tblr-body-color) !important;
}

.tox .tox-collection--list .tox-collection__group {
    border-color: var(--tblr-border-color) !important;
}

.tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg {
    fill: var(--tblr-body-color) !important;
}

.tox .tox-pop__dialog .tox-toolbar {
    background-color: var(--tblr-bg-forms) !important;
}

.tox .tox-pop__dialog {
    border-color: var(--tblr-border-color) !important;
    background-color: var(--tblr-bg-forms) !important;
}

.tox .tox-collection--list .tox-collection__item--enabled:not(.tox-collection__item--state-disabled) {
    background-color: var(--tblr-bg-forms) !important;
}

div.dt-button-collection {
    background-color: var(--tblr-bg-forms);
    border: 1px solid var(--tblr-border-color);
}

div.dtsb-searchBuilder .dtsb-dropDown {
    border: 1px solid var(--tblr-border-color) !important;
}

div.dt-scroll-body {
    border-bottom-color: var(--tblr-border-color);
    border-bottom-width: var(--tblr-border-width);
    border-bottom-style: solid;
}


.select2-container--bootstrap-5 .select2-selection {
    border-radius: var(--tblr-border-radius);
}

.dt-buttons.btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: inherit;
    border-bottom-right-radius: inherit;
}

.btn-group .btn:not(:disabled).fc-button-active, .btn-group .btn:not(:disabled):active {
    background-color: var(--tblr-bg-surface-tertiary);
}
