/*data-primereact-style-id="base"*/
.p-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.p-overflow-hidden {
    overflow: hidden;
    padding-right: var(--scrollbar-width);
}
/*data-primereact-style-id="common"*/
@layer primereact {
    .p-component, .p-component * {
        box-sizing: border-box;
    }

    .p-hidden {
        display: none;
    }

    .p-hidden-space {
        visibility: hidden;
    }

    .p-reset {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        text-decoration: none;
        font-size: 100%;
        list-style: none;
    }

    .p-disabled, .p-disabled * {
        cursor: default;
        pointer-events: none;
        user-select: none;
    }

    .p-component-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .p-unselectable-text {
        user-select: none;
    }

    .p-scrollbar-measure {
        width: 100px;
        height: 100px;
        overflow: scroll;
        position: absolute;
        top: -9999px;
    }

    @-webkit-keyframes p-fadein {
      0%   { opacity: 0; }
      100% { opacity: 1; }
    }
    @keyframes p-fadein {
      0%   { opacity: 0; }
      100% { opacity: 1; }
    }

    .p-link {
        text-align: left;
        background-color: transparent;
        margin: 0;
        padding: 0;
        border: none;
        cursor: pointer;
        user-select: none;
    }

    .p-link:disabled {
        cursor: default;
    }

    /* Non react overlay animations */
    .p-connected-overlay {
        opacity: 0;
        transform: scaleY(0.8);
        transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1);
    }

    .p-connected-overlay-visible {
        opacity: 1;
        transform: scaleY(1);
    }

    .p-connected-overlay-hidden {
        opacity: 0;
        transform: scaleY(1);
        transition: opacity .1s linear;
    }

    /* React based overlay animations */
    .p-connected-overlay-enter {
        opacity: 0;
        transform: scaleY(0.8);
    }

    .p-connected-overlay-enter-active {
        opacity: 1;
        transform: scaleY(1);
        transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1);
    }

    .p-connected-overlay-enter-done {
        transform: none;
    }

    .p-connected-overlay-exit {
        opacity: 1;
    }

    .p-connected-overlay-exit-active {
        opacity: 0;
        transition: opacity .1s linear;
    }

    /* Toggleable Content */
    .p-toggleable-content-enter {
        max-height: 0;
    }

    .p-toggleable-content-enter-active {
        overflow: hidden;
        max-height: 1000px;
        transition: max-height 1s ease-in-out;
    }

    .p-toggleable-content-enter-done {
        transform: none;
    }

    .p-toggleable-content-exit {
        max-height: 1000px;
    }

    .p-toggleable-content-exit-active {
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);
    }

    /* @todo Refactor */
    .p-menu .p-menuitem-link {
        cursor: pointer;
        display: flex;
        align-items: center;
        text-decoration: none;
        overflow: hidden;
        position: relative;
    }

    
.p-button {
    margin: 0;
    display: inline-flex;
    cursor: pointer;
    user-select: none;
    align-items: center;
    vertical-align: bottom;
    text-align: center;
    overflow: hidden;
    position: relative;	
    font-size: 1rem!important;
    transition: background-color .2s,color .2s,border-color .2s,box-shadow .2s;
    border-radius: 6px!important;
}

.p-button-label {
    flex: 1 1 auto;
}

.p-button-icon-right {
    order: 1;
}
.p-button .p-button-icon-left {
    margin-right: .5rem !important;
  }
.p-button:disabled {
    cursor: default;
}

.p-button-icon-only {
    justify-content: center;
}
.p-button.p-button-icon-only {padding: .75rem 0 !important;}
.p-button-icon-only .p-button-label {
    visibility: hidden;
    width: 0;
    flex: 0 0 auto;
}

.p-button-vertical {
    flex-direction: column;
}

.p-button-icon-bottom {
    order: 2;
}

.p-button-group .p-button {
    margin: 0;
}

.p-button-group .p-button:not(:last-child) {
    border-right: 0 none;
}

.p-button-group .p-button:not(:first-of-type):not(:last-of-type) {
    border-radius: 0;
}

.p-button-group .p-button:first-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.p-button-group .p-button:last-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.p-button-group .p-button:focus {
    position: relative;
    z-index: 1;
}

.p-button-group-single .p-button:first-of-type {
    border-top-right-radius: var(--border-radius) !important;
    border-bottom-right-radius: var(--border-radius) !important;
}

.p-button-group-single .p-button:last-of-type {
    border-top-left-radius: var(--border-radius) !important;
    border-bottom-left-radius: var(--border-radius) !important;
}

    
.p-inputtext {
    margin: 0;
}
.p-inputtext:enabled:focus { outline: 0 none !important;}

.p-fluid .p-inputtext {
    width: 100%;
}

/* InputGroup */
.p-inputgroup {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.p-inputgroup-addon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-inputgroup .p-float-label {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.p-inputgroup .p-inputtext,
.p-fluid .p-inputgroup .p-inputtext,
.p-inputgroup .p-inputwrapper,
.p-fluid .p-inputgroup .p-input {
    flex: 1 1 auto;
    width: 1%;
}

/* Floating Label */
.p-float-label {
    display: block;
    position: relative;
}

.p-float-label label {
    position: absolute;
    pointer-events: none;
    top: 50%;
    margin-top: -0.5rem;
    transition-property: all;
    transition-timing-function: ease;
    line-height: 1;
}

.p-float-label textarea ~ label,
.p-float-label .p-mention ~ label {
    top: 1rem;
}

.p-float-label input:focus ~ label,
.p-float-label input:-webkit-autofill ~ label,
.p-float-label input.p-filled ~ label,
.p-float-label textarea:focus ~ label,
.p-float-label textarea.p-filled ~ label,
.p-float-label .p-inputwrapper-focus ~ label,
.p-float-label .p-inputwrapper-filled ~ label,
.p-float-label .p-tooltip-target-wrapper ~ label {
    top: -0.75rem;
    font-size: 12px;
}

.p-float-label .p-placeholder,
.p-float-label input::placeholder,
.p-float-label .p-inputtext::placeholder {
    opacity: 0;
    transition-property: all;
    transition-timing-function: ease;
}

.p-float-label .p-focus .p-placeholder,
.p-float-label input:focus::placeholder,
.p-float-label .p-inputtext:focus::placeholder {
    opacity: 1;
    transition-property: all;
    transition-timing-function: ease;
}
.p-icon-field .p-inputtext {border: 1px solid #d1d5db !important;}
.p-icon-field > .p-input-icon { margin-top: -.5rem !important; }
.p-input-icon-left,
.p-input-icon-right {
    position: relative;
    display: inline-block;
}

.p-input-icon-left > i,
.p-input-icon-right > i,
.p-input-icon-left > svg,
.p-input-icon-right > svg,
.p-input-icon-left > .p-input-prefix,
.p-input-icon-right > .p-input-suffix {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
}

.p-fluid .p-input-icon-left,
.p-fluid .p-input-icon-right {
    display: block;
    width: 100%;
}

    
.p-icon {
    display: inline-block;
}

.p-icon-spin {
    -webkit-animation: p-icon-spin 2s infinite linear;
    animation: p-icon-spin 2s infinite linear;
}

svg.p-icon {
    pointer-events: auto;
}

svg.p-icon g,
.p-disabled svg.p-icon {
    pointer-events: none;
}

@-webkit-keyframes p-icon-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes p-icon-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

}
/*data-primereact-style-id="calendar"*/
@layer primereact {
    .p-calendar {
        position: relative;
        display: inline-flex;
        max-width: 100%;
    }

    .p-calendar .p-inputtext {
        flex: 1 1 auto;
        width: 1%;
    }

    .p-calendar-w-btn-right .p-inputtext {
        border-top-right-radius: 0!important;
        border-bottom-right-radius: 0!important;
    }

    .p-calendar-w-btn-right .p-datepicker-trigger {
        border-top-left-radius: 0!important;
        border-bottom-left-radius: 0!important;
    }

    .p-calendar-w-btn-left .p-inputtext {
        border-top-left-radius: 0!important;
        border-bottom-left-radius: 0!important;
    }

    .p-calendar-w-btn-left .p-datepicker-trigger {
        border-top-right-radius: 0!important;
        border-bottom-right-radius: 0!important;
    }

    /* Fluid */
    .p-fluid .p-calendar {
        display: flex;
    }

    .p-fluid .p-calendar .p-inputtext {
        width: 1%;
    }

    /* Datepicker */
    .p-calendar .p-datepicker {
        min-width: 100%;
    }

    .p-datepicker {
        width: auto;
        position: absolute;
        top: 0;
        left: 0;padding: .5rem !important;
    }

    .p-datepicker-inline {
        display: inline-block;
        position: static;
        overflow-x: auto;
    }

    /* Header */
    .p-datepicker-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
	.p-datepicker .p-datepicker-header {border-bottom: 1px solid #e5e7eb!important;padding: .5rem!important;}
    .p-datepicker-header .p-datepicker-title {
        margin: 0 auto!important;
    }

    .p-datepicker-prev,
    .p-datepicker-next {
        cursor: pointer;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        position: relative;
    }
	.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {margin-right: .5rem!important;}
	.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {color: #4b5563!important;transition: background-color .2s,color .2s,box-shadow .2s;font-weight: 600!important;
    padding: .5rem!important;}
    /* Multiple Month DatePicker */
    .p-datepicker-multiple-month .p-datepicker-group-container {
        display: flex;
    }

    .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {
        flex: 1 1 auto;
    }

    /* Multiple Month DatePicker */
    .p-datepicker-multiple-month .p-datepicker-group-container {
        display: flex;
    }

    /* DatePicker Table */
    .p-datepicker table {
        width: 100%;
        border-collapse: collapse;margin: .5rem 0 !important;
    }

    .p-datepicker td > span {
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        margin: 0 auto!important;
        overflow: hidden;
        position: relative;
    }

    /* Month Picker */
    .p-monthpicker-month {
        width: 33.3%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        overflow: hidden;
        position: relative;
    }

    /*  Button Bar */
	.p-datepicker .p-datepicker-buttonbar { padding: 1rem 0 !important; border-top: 1px solid #e5e7eb !important;}
    .p-datepicker-buttonbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
	.p-datepicker-buttonbar .p-button {padding: .75rem 1.25rem!important;}
	.p-button.p-button-secondary.p-button-text, .p-button-group.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text {background-color: transparent !important;color: #64748b!important;border-color: transparent !important;}
	.p-button.p-button-secondary, .p-button-group.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary {border: 1px solid #64748b !important;}
	.p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover {background: #64748b0a !important;border-color: transparent !important;color: #64748b !important; }

    /* Time Picker */
    .p-timepicker {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p-timepicker button {
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        overflow: hidden;
        position: relative;
    }

    .p-timepicker > div {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    /* Touch UI */
    .p-datepicker-touch-ui,
    .p-calendar .p-datepicker-touch-ui {
        position: fixed;
        top: 50%;
        left: 50%;
        min-width: 80vw;
        transform: translate(-50%, -50%);
    }

    /* Year Picker */
    .p-yearpicker-year {
        width: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        overflow: hidden;
        position: relative;
    }
}

/*data-primereact-style-id="dropdown"*/
@layer primereact {
    .p-dropdown {
        display: inline-flex;
        cursor: pointer;
        position: relative;
        user-select: none;
    }
    
    .p-dropdown-trigger {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    
    .p-dropdown-label {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        flex: 1 1 auto;
        width: 1%;
        text-overflow: ellipsis;
        cursor: pointer;
    }
    
    .p-dropdown-label-empty {
        overflow: hidden;
        visibility: hidden;
    }
    
    input.p-dropdown-label  {
        cursor: default;
    }
    
    .p-dropdown .p-dropdown-panel {
        min-width: 100%;
    }
    
    .p-dropdown-panel {
        position: absolute;
        top: 0;
        left: 0;
    }
    .p-dropdown-panel .p-dropdown-header { padding: .75rem 1.25rem !important; border-bottom: 1px solid #e5e7eb !important;}

    .p-dropdown-items-wrapper {
        overflow: auto;
    }
    
    .p-dropdown-item {
        cursor: pointer;
        font-weight: normal;
        white-space: nowrap;
        position: relative;
        overflow: hidden;
    }
    
    .p-dropdown-items {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
	.p-dropdown-panel .p-dropdown-items {padding: .75rem 0 !important;}
	.p-dropdown-panel .p-dropdown-items .p-dropdown-item { padding: .75rem 1.25rem !important; border: 0 none !important;}
    
    .p-dropdown-filter {
        width: 100%;
    }
	.p-dropdown-filter.p-inputtext {
	font-family: var(--font-family) !important;
    font-feature-settings: var(--font-feature-settings, normal) !important;
    color: #4b5563 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
	background: #fff !important;
}
	.p-dropdown-panel .p-dropdown-header .p-dropdown-filter {margin-right: -1.75rem !important;}
    
    .p-dropdown-filter-container {
        position: relative;
    }
    
    .p-dropdown-clear-icon,
    .p-dropdown-filter-icon,
    .p-dropdown-filter-clear-icon {
        position: absolute;
        top: 50%;
        margin-top: -.5rem!important;
        right: 2rem;
    }
    
    .p-fluid .p-dropdown {
        display: flex;
    }
    
    .p-fluid .p-dropdown .p-dropdown-label {
        width: 1%;
    }
}

/*data-primereact-style-id="multiselect"*/
@layer primereact {
    .p-multiselect {
        display: inline-flex;
        user-select: none;
        cursor: pointer;
    }
    
    .p-multiselect-trigger {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        cursor: pointer;
    }
    
    .p-multiselect-label-container {
        overflow: hidden;
        flex: 1 1 auto;
        cursor: pointer;
    }
    
    .p-multiselect-label  {
        display: block;
        white-space: nowrap;
        cursor: pointer;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    .p-multiselect-label-empty {
        overflow: hidden;
        visibility: hidden;
    }
    
    .p-multiselect-token {
        cursor: default;
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
    }
    
    .p-multiselect-token-icon {
        cursor: pointer;
    }
    
    .p-multiselect .p-multiselect-panel {
        min-width: 100%;
    }
    
    .p-multiselect-inline.p-multiselect-panel {
        border: none;
        position: initial;
        background: none;
        box-shadow: none;
    }
    
    .p-multiselect-inline.p-multiselect-panel .p-multiselect-items {
        padding: 0;
    }
    
    .p-multiselect-flex.p-multiselect-panel .p-multiselect-items {
        display: flex;
        flex-wrap: wrap;
    }
    
    .p-multiselect-items-wrapper {
        overflow: auto;
    }
    
    .p-multiselect-items {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    
    .p-multiselect-item {
        cursor: pointer;
        display: flex;
        align-items: center;
        font-weight: normal;
        white-space: nowrap;
        position: relative;
        overflow: hidden;
        outline: none;
    }
    
    .p-multiselect-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .p-multiselect-panel .p-multiselect-header {padding: .75rem 1.25rem !important; border-bottom: 1px solid #e5e7eb !important;}
    .p-multiselect-select-all-label {
        margin-left: 0.5rem;
    }
    
    .p-multiselect-filter-container {
        position: relative;
        flex: 1 1 auto;
    }
    
    .p-multiselect-filter-icon {
        position: absolute;
        top: 50%;
        margin-top: -.5rem!important;
    }
    
    .p-multiselect-filter-container .p-inputtext {
        width: 100%;
    }
	.p-multiselect-filter.p-inputtext {
		font-family: var(--font-family) !important;
		font-feature-settings: var(--font-feature-settings, normal) !important;
		color: #4b5563 !important;
		border: 1px solid #d1d5db !important;
		border-radius: 6px !important;
		background: #fff !important;
	}
    .p-multiselect-panel .p-multiselect-items { padding: .75rem 0 !important;}
	.p-multiselect-panel .p-multiselect-items .p-multiselect-item { padding: .75rem 1.25rem !important; border: 0 none !important;}
    .p-multiselect-close {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        overflow: hidden;
        position: relative;
        margin-left: auto;
    }
	.p-multiselect-panel .p-multiselect-header .p-multiselect-close {margin-left: .5rem !important;color: #6b7280!important; 
	border: 0 none!important;border-radius: 50% !important;}
    .p-multiselect-panel .p-multiselect-header .p-checkbox { margin-right: .5rem !important;}
	.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { margin-right: .5rem !important;}
    .p-multiselect-clear-icon {
        position: absolute;
        top: 50%;
        margin-top: -.5rem;
        right: 3rem;
    }
    
    .p-fluid .p-multiselect {
        display: flex;
    }
}

/*data-primereact-style-id="messages"*/
@layer primereact {
    .p-message-wrapper {
        display: flex;
        align-items: center;
    }

    .p-message-icon {
        flex-shrink: 0;
    }
    
    .p-message-close {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .p-message-close.p-link {
        margin-left: auto;
        overflow: hidden;
        position: relative;
    }
    
    .p-message-enter {
        opacity: 0;
    }
    
    .p-message-enter-active {
        opacity: 1;
        transition: opacity .3s;
    }
    
    .p-message-exit {
        opacity: 1;
        max-height: 1000px;
    }
    
    .p-message-exit-active {
        opacity: 0;
        max-height: 0;
        margin: 0;
        overflow: hidden;
        transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .3s;
    }
    
    .p-message-exit-active .p-message-close {
        display: none;
    }
}

/*data-primereact-style-id="fileupload"*/
@layer primereact {
    .p-fileupload-content {
        position: relative;
    }
    
    .p-fileupload-row {
        display: flex;
        align-items: center;
    }
    
    .p-fileupload-row > div {
        flex: 1 1 auto;
        width: 25%;
    }
    
    .p-fileupload-row > div:last-child {
        text-align: right;
    }
    
    .p-fileupload-content > .p-progressbar {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    
    .p-button.p-fileupload-choose {
        position: relative;
        overflow: hidden;
		padding: .75rem 1.25rem!important;
    }
    
    .p-fileupload-buttonbar {
        display: flex;
        flex-wrap: wrap;
    }
    
    .p-button.p-fileupload-choose input[type='file'] {
        display: none;
    }
    
    .p-fileupload-choose.p-fileupload-choose-selected input[type='file'] {
        display: none;
    }
    
    .p-fileupload-filename {
        word-break: break-all;
    }
    
    .p-fileupload-file-thumbnail {
        flex-shrink: 0;
    }
    
    .p-fileupload-file-badge {
        margin: 0.5rem;
    }
    
    .p-fluid .p-fileupload .p-button {
        width: auto;
    }
}