/* Laravel Toastify Styles */

:root {
    --toastify-color-light: #fff;
    --toastify-color-dark: #121212;
    --toastify-color-info: #3498db;
    --toastify-color-success: #07bc0c;
    --toastify-color-warning: #f1c40f;
    --toastify-color-error: #e74c3c;
    --toastify-color-transparent: rgba(255, 255, 255, 0.7);

    --toastify-icon-color-info: var(--toastify-color-info);
    --toastify-icon-color-success: var(--toastify-color-success);
    --toastify-icon-color-warning: var(--toastify-color-warning);
    --toastify-icon-color-error: var(--toastify-color-error);

    --toastify-toast-width: 320px;
    --toastify-toast-background: #fff;
    --toastify-toast-min-height: 64px;
    --toastify-toast-max-height: 800px;
    --toastify-font-family: sans-serif;
    --toastify-z-index: 9999;

    --toastify-text-color-light: #757575;
    --toastify-text-color-dark: #fff;

    --toastify-color-progress-light: linear-gradient(
        to right,
        #4cd964,
        #5ac8fa,
        #007aff,
        #34aadc,
        #5856d6,
        #ff2d55
    );
    --toastify-color-progress-dark: #bb86fc;
    --toastify-color-progress-info: var(--toastify-color-info);
    --toastify-color-progress-success: var(--toastify-color-success);
    --toastify-color-progress-warning: var(--toastify-color-warning);
    --toastify-color-progress-error: var(--toastify-color-error);
}

.toastify-container {
    z-index: var(--toastify-z-index);
    position: fixed;
    padding: 4px;
    width: var(--toastify-toast-width);
    box-sizing: border-box;
    color: #fff;
}

.toastify-container.toastify--top-left {
    top: 1em;
    left: 1em;
}

.toastify-container.toastify--top-center {
    top: 1em;
    left: 50%;
    transform: translateX(-50%);
}

.toastify-container.toastify--top-right {
    top: 1em;
    right: 1em;
}

.toastify-container.toastify--bottom-left {
    bottom: 1em;
    left: 1em;
}

.toastify-container.toastify--bottom-center {
    bottom: 1em;
    left: 50%;
    transform: translateX(-50%);
}

.toastify-container.toastify--bottom-right {
    bottom: 1em;
    right: 1em;
}

@media only screen and (max-width: 480px) {
    .toastify-container {
        width: 100vw;
        padding: 0;
        left: 0;
        margin: 0;
    }
    
    .toastify-container.toastify--top-left,
    .toastify-container.toastify--top-center,
    .toastify-container.toastify--top-right {
        top: 0;
        transform: translateX(0);
    }
    
    .toastify-container.toastify--bottom-left,
    .toastify-container.toastify--bottom-center,
    .toastify-container.toastify--bottom-right {
        bottom: 0;
        transform: translateX(0);
    }
    
    .toastify-container.toastify--rtl {
        right: 0;
        left: initial;
    }
}

.toastify-container.toastify--rtl {
    right: 0;
    left: initial;
}

.toastify-toast {
    position: relative;
    min-height: var(--toastify-toast-min-height);
    box-sizing: border-box;
    margin-bottom: 1rem;
    padding: 8px;
    border-radius: 4px;
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 15px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: space-between;
    max-height: var(--toastify-toast-max-height);
    overflow: hidden;
    font-family: var(--toastify-font-family);
    cursor: pointer;
    direction: ltr;
    z-index: 0;
}

.toastify-toast.toastify--rtl {
    direction: rtl;
}

.toastify-toast--default {
    background: var(--toastify-toast-background);
    color: var(--toastify-text-color-light);
}

.toastify-toast--info {
    background: var(--toastify-color-info);
}

.toastify-toast--success {
    background: var(--toastify-color-success);
}

.toastify-toast--warning {
    background: var(--toastify-color-warning);
}

.toastify-toast--error {
    background: var(--toastify-color-error);
}

.toastify-toast-body {
    margin: auto 0;
    flex: 1 1 auto;
    padding: 6px;
    display: flex;
    align-items: center;
}

.toastify-toast-body > div:last-child {
    word-break: break-word;
    flex: 1;
}

.toastify-toast-icon {
    margin-inline-end: 10px;
    width: 20px;
    flex-shrink: 0;
    display: flex;
}

@keyframes toastify-bounceInRight {
    from,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        transform: translate3d(3000px, 0, 0) scaleX(3);
    }
    60% {
        opacity: 1;
        transform: translate3d(-25px, 0, 0) scaleX(1);
    }
    75% {
        transform: translate3d(10px, 0, 0) scaleX(0.98);
    }
    90% {
        transform: translate3d(-5px, 0, 0) scaleX(0.995);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-bounceOutRight {
    20% {
        opacity: 1;
        transform: translate3d(-20px, 0, 0) scaleX(0.9);
    }
    to {
        opacity: 0;
        transform: translate3d(2000px, 0, 0) scaleX(2);
    }
}

@keyframes toastify-bounceInLeft {
    from,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
        opacity: 0;
        transform: translate3d(-3000px, 0, 0) scaleX(3);
    }
    60% {
        opacity: 1;
        transform: translate3d(25px, 0, 0) scaleX(1);
    }
    75% {
        transform: translate3d(-10px, 0, 0) scaleX(0.98);
    }
    90% {
        transform: translate3d(5px, 0, 0) scaleX(0.995);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-bounceOutLeft {
    20% {
        opacity: 1;
        transform: translate3d(20px, 0, 0) scaleX(0.9);
    }
    to {
        opacity: 0;
        transform: translate3d(-2000px, 0, 0) scaleX(2);
    }
}

@keyframes toastify-bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        transform: translate3d(0, 3000px, 0) scaleY(5);
    }
    60% {
        opacity: 1;
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }
    75% {
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }
    90% {
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-bounceOutUp {
    20% {
        transform: translate3d(0, -10px, 0) scaleY(0.985);
    }
    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, 20px, 0) scaleY(0.9);
    }
    to {
        opacity: 0;
        transform: translate3d(0, -2000px, 0) scaleY(3);
    }
}

@keyframes toastify-bounceInDown {
    from,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
        opacity: 0;
        transform: translate3d(0, -3000px, 0) scaleY(3);
    }
    60% {
        opacity: 1;
        transform: translate3d(0, 25px, 0) scaleY(0.9);
    }
    75% {
        transform: translate3d(0, -10px, 0) scaleY(0.95);
    }
    90% {
        transform: translate3d(0, 5px, 0) scaleY(0.985);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-bounceOutDown {
    20% {
        transform: translate3d(0, 10px, 0) scaleY(0.985);
    }
    40%,
    45% {
        opacity: 1;
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }
    to {
        opacity: 0;
        transform: translate3d(0, 2000px, 0) scaleY(3);
    }
}

.toastify-bounce-enter--top-left,
.toastify-bounce-enter--bottom-left {
    animation-name: toastify-bounceInLeft;
}

.toastify-bounce-enter--top-right,
.toastify-bounce-enter--bottom-right {
    animation-name: toastify-bounceInRight;
}

.toastify-bounce-enter--top-center {
    animation-name: toastify-bounceInDown;
}

.toastify-bounce-enter--bottom-center {
    animation-name: toastify-bounceInUp;
}

.toastify-bounce-exit--top-left,
.toastify-bounce-exit--bottom-left {
    animation-name: toastify-bounceOutLeft;
}

.toastify-bounce-exit--top-right,
.toastify-bounce-exit--bottom-right {
    animation-name: toastify-bounceOutRight;
}

.toastify-bounce-exit--top-center {
    animation-name: toastify-bounceOutUp;
}

.toastify-bounce-exit--bottom-center {
    animation-name: toastify-bounceOutDown;
}

/* Zoom Animation */
@keyframes toastify-zoomIn {
    from {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }
    50% {
        opacity: 1;
    }
}

@keyframes toastify-zoomOut {
    from {
        opacity: 1;
    }
    50% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }
    to {
        opacity: 0;
    }
}

.toastify-zoom-enter {
    animation-name: toastify-zoomIn;
}

.toastify-zoom-exit {
    animation-name: toastify-zoomOut;
}

/* Flip Animation */
@keyframes toastify-flipIn {
    from {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    40% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        animation-timing-function: ease-in;
    }
    60% {
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }
    80% {
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }
    to {
        transform: perspective(400px);
    }
}

@keyframes toastify-flipOut {
    from {
        transform: perspective(400px);
    }
    30% {
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }
    to {
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

.toastify-flip-enter {
    animation-name: toastify-flipIn;
}

.toastify-flip-exit {
    animation-name: toastify-flipOut;
}

/* Slide Animation */
@keyframes toastify-slideInRight {
    from {
        transform: translate3d(110%, 0, 0);
        visibility: visible;
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-slideInLeft {
    from {
        transform: translate3d(-110%, 0, 0);
        visibility: visible;
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-slideInUp {
    from {
        transform: translate3d(0, 110%, 0);
        visibility: visible;
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-slideInDown {
    from {
        transform: translate3d(0, -110%, 0);
        visibility: visible;
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes toastify-slideOutRight {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        visibility: hidden;
        transform: translate3d(110%, 0, 0);
    }
}

@keyframes toastify-slideOutLeft {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        visibility: hidden;
        transform: translate3d(-110%, 0, 0);
    }
}

@keyframes toastify-slideOutDown {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        visibility: hidden;
        transform: translate3d(0, 500px, 0);
    }
}

@keyframes toastify-slideOutUp {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        visibility: hidden;
        transform: translate3d(0, -500px, 0);
    }
}

.toastify-slide-enter--top-left,
.toastify-slide-enter--bottom-left {
    animation-name: toastify-slideInLeft;
}

.toastify-slide-enter--top-right,
.toastify-slide-enter--bottom-right {
    animation-name: toastify-slideInRight;
}

.toastify-slide-enter--top-center {
    animation-name: toastify-slideInDown;
}

.toastify-slide-enter--bottom-center {
    animation-name: toastify-slideInUp;
}

.toastify-slide-exit--top-left,
.toastify-slide-exit--bottom-left {
    animation-name: toastify-slideOutLeft;
}

.toastify-slide-exit--top-right,
.toastify-slide-exit--bottom-right {
    animation-name: toastify-slideOutRight;
}

.toastify-slide-exit--top-center {
    animation-name: toastify-slideOutUp;
}

.toastify-slide-exit--bottom-center {
    animation-name: toastify-slideOutDown;
}

.toastify-toast.toastify-entering {
    animation-duration: 0.75s;
    animation-fill-mode: both;
}

.toastify-toast.toastify-exiting {
    animation-duration: 0.4s;
    animation-fill-mode: both;
}

.toastify-close-button {
    color: #fff;
    background: transparent;
    outline: none;
    border: none;
    padding: 0;
    cursor: pointer;
    opacity: 0.7;
    transition: 0.3s ease;
    align-self: flex-start;
    margin-left: auto;
}

.toastify-close-button:hover {
    opacity: 1;
}

.toastify-close-button > svg {
    fill: currentColor;
    height: 16px;
    width: 14px;
}

.toastify-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    z-index: var(--toastify-z-index);
    opacity: 0.7;
    background-color: rgba(255, 255, 255, 0.7);
    transform-origin: left;
}

.toastify-progress-bar--animated {
    animation: toastify-trackProgress linear 1 forwards;
}

@keyframes toastify-trackProgress {
    0% {
        transform: scaleX(1);
    }
    100% {
        transform: scaleX(0);
    }
}

.toastify-progress-bar--controlled {
    transition: transform 0.2s;
}

.toastify-progress-bar--rtl {
    right: 0;
    left: initial;
    transform-origin: right;
}

.toastify-progress-bar--default {
    background: var(--toastify-color-progress-light);
}

.toastify-progress-bar--dark {
    background: var(--toastify-color-progress-dark);
}

.toastify-toast--default .toastify-progress-bar {
    background: var(--toastify-color-progress-light);
}

.toastify-toast--info .toastify-progress-bar {
    background: var(--toastify-color-progress-info);
}

.toastify-toast--success .toastify-progress-bar {
    background: var(--toastify-color-progress-success);
}

.toastify-toast--warning .toastify-progress-bar {
    background: var(--toastify-color-progress-warning);
}

.toastify-toast--error .toastify-progress-bar {
    background: var(--toastify-color-progress-error);
}

/* Theme variations */
.toastify-toast.toastify--theme-dark {
    background: var(--toastify-color-dark);
    color: var(--toastify-text-color-dark);
}

.toastify-toast.toastify--theme-colored.toastify-toast--default {
    color: var(--toastify-text-color-light);
}

.toastify-toast.toastify--theme-colored.toastify-toast--info,
.toastify-toast.toastify--theme-colored.toastify-toast--success,
.toastify-toast.toastify--theme-colored.toastify-toast--warning,
.toastify-toast.toastify--theme-colored.toastify-toast--error {
    color: #fff;
}
