.p-link {
    text-align: left;
    background-color: transparent;
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    user-select: none;
}

.p-input-icon-left.p-floatlabel > label {
    left: 2.5rem;
}

.p-input-icon-left > .p-inputtext {
    padding-left: 2.5rem;
}

.p-floatlabel input:focus ~ label,
.p-floatlabel input.p-filled ~ label,
.p-floatlabel textarea:focus ~ label,
.p-floatlabel textarea.p-filled ~ label,
.p-floatlabel .p-inputwrapper-focus ~ label,
.p-floatlabel .p-inputwrapper-filled ~ label {
    top: -0.75rem;
    font-size: 12px;
}

.p-floatlabel > label {
    left: 0.75rem;
    color: var(--text-color-secondary);
    transition-duration: 0.15s;
}

.p-floatlabel label {
    position: absolute;
    pointer-events: none;
    top: 50%;
    transform: none !important;
    margin-top: -0.5rem;
    transition-property: all;
    transition-timing-function: ease;
    line-height: 1;
}

.p-input-icon-left > i:first-of-type {
    left: 0.75rem !important;
}

.p-input-icon-left > i,
.p-input-icon-left > svg,
.p-input-icon-right > i,
.p-input-icon-right > svg {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
}

.p-input-icon-left,
.p-input-icon-right {
    position: relative !important;
    display: inline-block !important;
}

.p-datatable-table-container {
    white-space: pre-wrap;
}

.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {
    background: var(--ground-color) !important;
}

.p-datatable-hoverable .p-datatable-tbody > tr:not(.p-datatable-row-selected):hover {
    background: var(--ground-color) !important;
    color: var(--p-datatable-row-hover-color);
}

.p-fluid .p-inputgroup .p-button {
    width: auto;
}
.p-fluid .p-inputgroup .p-button.p-button-icon-only {
    width: 2.357rem;
}

.p-fluid .p-button {
    width: 100%;
}
.p-fluid .p-button-icon-only {
    width: 2.357rem;
}
.p-fluid .p-buttonset {
    display: flex;
}
.p-fluid .p-buttonset .p-button {
    flex: 1;
}

.p-fluid .p-inputtext {
    width: 100%;
}

.p-fluid .p-select {
    display: flex;
}

.p-tabview-tablist {
    background: transparent !important;
}

.p-tabview-tablist-item {
    background: var(--surface-card-color);
}

.p-tabview-tablist-item-active {
    background: var(--ground-color);
}

.p-inputgroup {
    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%;
}

.p-inputchips-input {
    width: 100%;
}

.p-fluid .p-inputchips {
    display: flex;
}

.p-breadcrumb {
    background: var(--surface-card-color) !important;
}

.p-breadcrumb-separator svg {
    width: 7px;
    height: 7px;
    margin: 0 0.6rem;
}

.p-breadcrumb-home-item {
    font-weight: 700;
}

.p-floatlabel > .p-inputtext::placeholder {
    opacity: 0 !important;
}
.p-floatlabel > .p-inputtext:enabled:focus::placeholder {
    opacity: 1 !important;
}

.p-floatlabel:has(.p-textarea) label {
    top: 1.5rem !important;
}
.p-floatlabel:has(.p-textarea:enabled:focus) label {
    top: -0.75rem !important;
}
.p-floatlabel > .p-textarea::placeholder {
    opacity: 0 !important;
}
.p-floatlabel > .p-textarea:enabled:focus::placeholder {
    opacity: 1 !important;
}

.p-floatlabel > .p-autocomplete > .p-inputtext::placeholder {
    opacity: 0 !important;
}

.p-floatlabel > .p-autocomplete > .p-inputtext:enabled:focus::placeholder {
    opacity: 1 !important;
}

.p-floatlabel > .p-select > .p-placeholder {
    opacity: 0 !important;
}

.p-floatlabel > .p-select > .p-placeholder:focus {
    opacity: 1 !important;
}

.p-floatlabel {
    position: relative !important;
}

.pw-warning-flag {
    background-color: var(--p-orange-500);
    border-color: var(--p-orange-500);
    color: #ffffff;
}

.pw-avatar-bg {
    background-color: var(--bar-color);
    padding: 1rem;
    border-radius: 6px;
}

.p-datatable .p-datatable-tbody > tr > td {
    background: transparent;
}

/* Impossible de changer les bordures dans le main */
.p-datatable {
    border: 1px solid var(--p-panel-header-border-color);
    border-radius: 4px;
}

/* Impossible de changer les bordures dans le main */
.p-treetable {
    border: 1px solid var(--p-panel-header-border-color);
    border-radius: 4px;
}

.p-multiselect-list {
    background: var(--surface-card-color);
}

.p-multiselect-header {
    background: var(--surface-card-color);
}

.p-multiselect-option:hover:focus {
    background: var(--ground-color);
}

.p-togglebutton {
    background: var(--surface-card-color) !important;
}

.p-togglebutton-checked {
    background: var(--ground-color) !important;
}

.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover {
    background-color: var(--ground-color) !important;
}

.p-panel-content {
    border: 1px solid var(--surface-border-color);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Global custom CSS */
.p-disabled,
.p-component:disabled {
    opacity: 0.65 !important;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.bg-surface-50 {
    --tw-bg-opacity: 1 !important;
    --p-surface-50: #f8fafc;
    background-color: color-mix(in srgb, var(--p-surface-50) calc(100% * var(--tw-bg-opacity, 1)), transparent) !important;
}

.p-error {
    color: var(--p-red-500);
}

/* Autocomplete custom CSS */
.p-autocomplete-input-multiple {
    padding: 0.5rem 0.75rem !important;
}

.p-autocomplete-input-chip {
    padding: 0 !important;
}

/* Accordion custom CSS */
.p-accordionpanel {
    box-shadow: none !important;
}

.p-accordionpanel:not(:last-child) {
    border-bottom: none !important;
}

/* Badge custom CSS */
.p-badge.p-badge-success,
.p-badge.p-badge-user {
    background-color: var(--p-green-500);
    color: var(--p-button-primary-color);
}
.p-badge.p-badge-info,
.p-badge.p-badge-list {
    background-color: var(--p-sky-500);
    color: var(--p-button-primary-color);
}
.p-badge.p-badge-warning,
.p-badge.p-badge-company {
    background-color: var(--p-orange-500);
    color: var(--p-button-primary-color);
}
.p-badge.p-badge-help,
.p-badge.p-badge-group {
    background-color: var(--p-purple-500);
    color: var(--p-button-primary-color);
}

.p-badge {
    display: inline-block;
    border-radius: 10px;
    text-align: center;
    padding: 0 0.5rem;
}

.p-overlay-badge {
    position: relative;
}

.p-overlay-badge .p-badge {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    transform-origin: 100% 0;
    margin: 0;
}

.p-badge-dot {
    width: 0.5rem;
    min-width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    padding: 0;
}

.p-badge-no-gutter {
    padding: 0;
    border-radius: 50%;
}

.p-badge.p-badge-lg {
    font-size: 1.125rem;
    min-width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
}
.p-badge.p-badge-xl {
    font-size: 1.5rem;
    min-width: 3rem;
    height: 3rem;
    line-height: 3rem;
}

/* Button custom CSS */
.p-button-outlined:not(:disabled):hover {
    background: var(--p-green-400) !important;
    color: var(--p-button-primary-color) !important;
}

.p-button-danger.p-button-outlined:not(:disabled):hover {
    background: var(--p-red-400) !important;
}

/* Chip custom CSS */
.p-chip.p-chip-info,
.p-chip.p-chip-list,
.p-chip.p-chip-manager {
    background: var(--p-sky-500);
    color: var(--p-button-primary-color);
}
.p-chip.p-chip-success,
.p-chip.p-chip-user {
    background: var(--p-green-500);
    color: var(--p-button-primary-color);
}
.p-chip.p-chip-warning,
.p-chip.p-chip-company {
    background: var(--p-orange-500);
    color: var(--p-button-primary-color);
}
.p-chip.p-chip-help,
.p-chip.p-chip-group {
    background: var(--p-purple-500);
    color: var(--p-button-primary-color);
}

.p-chip.p-chip-company .p-chip-icon,
.p-chip.p-chip-company .p-chip-remove-icon {
    color: var(--p-button-primary-color) !important;
}

.p-chip.p-chip-manager .p-chip-icon,
.p-chip.p-chip-manager .p-chip-remove-icon {
    color: var(--p-button-primary-color) !important;
}

.p-chip.p-chip-group .p-chip-icon,
.p-chip.p-chip-group .p-chip-remove-icon {
    color: var(--p-button-primary-color) !important;
}

.p-chip.p-chip-user .p-chip-icon,
.p-chip.p-chip-user .p-chip-remove-icon {
    color: var(--p-button-primary-color) !important;
}

.p-chip {
    border-radius: 16px !important;
}

/* Chips custom CSS */
.p-inputchips-input {
    padding: 0.5rem 0.75rem !important;
}

.p-inputchips-input-item {
    padding: 0 !important;
}

/* Dialog custom CSS */
.p-dialog .p-dialog-header {
    border-bottom: 1px solid var(--surface-border-color);
    font-weight: bolder;
    font-size: larger;
    line-height: 0.75;
    background-color: var(--p-primary-500);
    color: var(--text-color);
    padding: 1rem;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

.p-dialog {
    border: 0 !important;
}

/* FileUpload custom CSS */
.p-fileupload-header {
    border-bottom: 1px solid var(--surface-border-color) !important;
}

/* Knob custom CSS */
.p-knob-text {
    font-size: 1.1rem !important; /* Adjust the font size for number with 7 digits */
}

/* MultiSelect custom CSS */
.p-multiselect-overlay .p-multiselect-header {
    padding: var(--p-multiselect-option-padding);
    border-bottom: 1px solid var(--surface-border-color);
    color: var(--text-color);
    background: var(--ground-color);
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

/* PanelMenu custom CSS */
.p-panelmenu-panel:has(.p-panelmenu-header-active) {
    margin: 0 !important;
}

.p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-label {
    font-weight: 600;
}

/* SelectButton custom CSS */
/* Temporary? fix for selectbutton */
.p-selectbutton .p-togglebutton {
    background: var(--tertiary-color) !important;
    border: 1px solid var(--tertiary-color) !important;
    color: var(--p-button-primary-color) !important;
    font-weight: 400;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s !important;
    padding: 0.5rem 0.75rem;
}
.p-selectbutton .p-togglebutton .p-togglebutton-icon-left,
.p-selectbutton .p-togglebutton .p-togglebutton-icon-right {
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton:not(.p-disabled):not(.p-togglebutton-checked):hover {
    background: var(--tertiary-color-active) !important;
    border-color: var(--tertiary-color-active) !important;
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton:not(.p-disabled):not(.p-checked):hover .p-togglebutton-icon-left,
.p-selectbutton .p-togglebutton:not(.p-disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon-right {
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton.p-togglebutton-checked {
    background: var(--tertiary-color-active) !important;
    border-color: var(--tertiary-color-active) !important;
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton.p-togglebutton-checked .p-togglebutton-icon-left,
.p-selectbutton .p-togglebutton.p-togglebutton-checked .p-togglebutton-icon-right {
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton.p-togglebutton-checked:hover {
    background: var(--tertiary-color-active) !important;
    border-color: var(--tertiary-color-active) !important;
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton .p-togglebutton.p-togglebutton-checked:hover .p-togglebutton-icon-left,
.p-selectbutton .p-togglebutton.p-togglebutton-checked:hover .p-togglebutton-icon-right {
    color: var(--p-button-primary-color) !important;
}
.p-selectbutton.p-invalid > .p-togglebutton {
    border-color: var(--p-red-500) !important;
}

/* Tabs custom CSS */
.p-tabpanels {
    border-top: 0 none !important;
    border-left: 1px solid var(--surface-border-color) !important;
    border-right: 1px solid var(--surface-border-color) !important;
    border-bottom: 1px solid var(--surface-border-color) !important;
    color: var(--text-color) !important;
    border-bottom-right-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.p-tab {
    border: 1px solid var(--surface-border-color) !important;
    border-top-right-radius: 4px !important;
    border-top-left-radius: 4px !important;
    padding: 0.7rem 1rem !important;
    background: var(--surface-card-color-hover) !important;
    color: var(--text-color-secondary) !important;
}

.p-tablist-active-bar {
    display: none !important;
}

.p-tab-active {
    border: none !important;
    background: var(--ground-color) !important;
    color: var(--text-color) !important;
}

/* Tag custom CSS */
.p-tag.p-tag-success,
.p-tag.p-tag-user {
    background: var(--p-green-500);
    color: var(--p-button-primary-color);
}
.p-tag.p-tag-info,
.p-tag.p-tag-list {
    background: var(--p-sky-500);
    color: var(--p-button-primary-color);
}
.p-tag.p-tag-warning,
.p-tag.p-tag-company {
    background: var(--p-orange-500);
    color: var(--p-button-primary-color);
}
.p-tag.p-tag-help,
.p-tag.p-tag-group {
    background: var(--p-purple-500);
    color: var(--p-button-primary-color);
}

/* Textarea custom CSS */
.media-create-folder .p-textarea,
.media-info .p-textarea,
.w-full-textarea {
    width: 100%;
}

/* ToggleSwitch custom CSS */
.p-toggleswitch {
    width: 3rem !important;
    height: 1.75rem !important;
}
.p-toggleswitch .p-toggleswitch-slider {
    background: var(--text-color) !important;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s !important;
    border-radius: 30px !important;
}
.p-toggleswitch .p-toggleswitch-slider:before {
    background: var(--ground-color);
    width: 1.25rem !important;
    height: 1.25rem !important;
    left: 0.25rem !important;
    margin-top: -0.625rem !important;
    border-radius: 30px !important;
    transition-duration: 0.15s !important;
}
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider:before {
    transform: translateX(1.25rem) !important;
}
.p-toggleswitch.p-focus .p-toggleswitch-slider {
    outline: 0 none !important;
    outline-offset: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--p-secondary-rgb), 0.5) !important;
}
.p-toggleswitch:not(.p-disabled):hover .p-toggleswitch-slider {
    background: var(--text-color) !important;
}
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {
    background: var(--p-secondary-500) !important;
}
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider:before {
    background: var(--ground-color) !important;
}
.p-toggleswitch.p-toggleswitch-checked:not(.p-disabled):hover .p-toggleswitch-slider {
    background: var(--p-secondary-400) !important;
}
.p-toggleswitch.p-invalid {
    border-color: var(--p-red-500) !important;
}
.p-toggleswitch-handle {
    background: var(--ground-color) !important;
    width: 1.3rem !important;
    height: 1.3rem !important;
    margin-block-start: calc(-1 * calc(1.3rem / 2)) !important;
}
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {
    inset-inline-start: 1.5rem !important;
}
.p-toggleswitch .p-toggleswitch-handle {
    inset-inline-start: 0.25rem !important;
}

.switch-label {
    vertical-align: super !important;
    font-weight: normal !important;
}

.db-card {
	display: inline-block !important;
	padding: 0;
	overflow: hidden;
}
.db-card .p-card-header {
	width: 100%;
	overflow: hidden;
	gap: var(--p-card-caption-gap);
	padding: 0.5rem var(--p-card-body-padding);
	border-bottom: 1px solid var(--p-accordion-header-border-color);
	font-weight: bold;
	display: flex;
	justify-content: space-between;
}
.db-card .p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {
	background-color: var(--p-accordion-header-background);
}
.db-card .p-card-header .p-card-title {
	display: inline-block;
	color: var(--text-color-secondary);
	font-size: 1.2rem;
}
.db-card .p-card-header .p-card-header-right {
	display: inline-block;
}
.db-card .p-card-header .p-card-header-right .pi {
	color: var(--text-color-secondary);
	font-weight: 700;
	font-size: 1.1rem;
}
#calendar .planning-details .planning-date {
	font-weight: bold;
	text-align: center;
}
.db-news-card-content,
.db-campaign-sms-card-content,
.db-campaign-email-card-content {
	margin: -1.5rem;
	border-right: none;
	border-left: none;
}
.db-news-card-content .p-accordionpanel:first-child,
.db-news-card-content .p-accordionpanel:last-child,
.db-news-card-content .p-accordionpanel:first-child > .p-accordionheader,
.db-campaign-sms-card-content .p-accordionpanel:first-child,
.db-campaign-sms-card-content .p-accordionpanel:last-child,
.db-campaign-sms-card-content .p-accordionpanel:first-child > .p-accordionheader,
.db-campaign-email-card-content .p-accordionpanel:first-child,
.db-campaign-email-card-content .p-accordionpanel:last-child,
.db-campaign-email-card-content .p-accordionpanel:first-child > .p-accordionheader {
	border-radius: 0;
}
.db-news-card-content .p-accordionpanel:first-child,
.db-campaign-sms-card-content .p-accordionpanel:first-child,
.db-campaign-email-card-content .p-accordionpanel:first-child {
	border-top: none;
}
.db-news-card-content .p-accordionpanel {
	border-right: none;
	border-left: none;
	border-bottom: none;
}
.db-news-title,
.db-campaign-sms-card-name,
.db-campaign-email-card-name {
	font-weight: bold;
}
.db-news-date,
.db-campaign-sms-card-id,
.db-campaign-email-card-id {
	font-weight: lighter;
	font-size: smaller;
	color: var(--p-breadcrumb-item-color);
}
.db-consumption-monthly {
	display: flex;
	justify-content: space-between;
	align-items: end;
}
.db-consumption-monthly .db-consumption-cost {
	font-size: 2rem;
	font-weight: bold;
}
.db-opens-stats,
.db-clicks-stats,
.db-bounces-stats {
	display: flex;
	font-weight: bold;
}
.db-consumption-monthly .db-consumption-period input {
	font-size: small;
	text-align: center;
}
.db-consumption-detail,
.db-opens-title,
.db-clicks-title,
.db-bounces-title,
.db-pending-files-detail {
	font-size: small;
	color: var(--text-color-secondary);
}
.db-consumption-detail .db-consumption-count,
.db-pending-files-duration {
	color: var(--p-secondary-500);
}
.p-tag.tag-cp-draft,
.p-tag.tag-cp-ready {
	background-color: var(--p-orange-950);
	color: var(--p-secondary-400);
}
.p-tag.tag-warning,
.p-tag.tag-cp-paused {
	background-color: var(--p-secondary-950);
	color: var(--p-secondary-400);
}
.p-tag.tag-cp-pendingapproval {
	background-color: var(--p-secondary-800);
	color: var(--p-secondary-400);
}
.p-tag.tag-cp-axtesting,
.p-tag.tag-cp-sending {
	background-color: var(--p-sky-950);
	color: var(--p-sky-400);
}
.p-tag.tag-success,
.p-tag.tag-cp-sent {
	background-color: var(--p-primary-950);
	color: var(--p-primary-400);
}
.p-tag.tag-cp-failed,
.p-tag.tag-cp-stopped {
	background-color: var(--p-red-950);
	color: var(--p-red-400);
}
.gi {
	width: 0.5rem;
	height: 0.5rem;
}
.p-avatar-lg .p-avatar-icon.gi {
	font-size: 2.2rem;
	width: 2.2rem;
	height: 2.2rem;
}

@media screen and (min-width: 768px) {
	.row {
		display: flex;
		justify-content: space-between;
	}
	.db-card.md\:col-3 {
		width: calc(25% - 1.2rem);
	}
	.db-card.md\:col-4 {
		width: calc(33.33% - 1.2rem);
	}
	.db-card.md\:col-6 {
		width: calc(50% - 0.8rem);
	}
	.md\:col-9 .db-card.md\:col-12 {
		width: calc(50% - 0.6rem);
	}

	.db-card .body-head .md\:col-4 {
		width: calc(33.33% - 3.2rem);
	}
}