.thead-sticky {
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: white;
}

.w-30 {
    width: 30% !important;
}

.with-gap {
    margin-right: 0.25rem !important;
}

.error input {
    border: 1px solid #f44336 !important;
}

.error select {
    border: 1px solid #f44336 !important;
}

.error span.error-text {
    color: #f44336 !important;
    font-size: 13px;
    font-weight: 400;
}

.error textarea {
    border: 1px solid #f44336 !important;
}

.side-icon {
    position: relative;
    right: 5px;
}
.side .collection-item {
    display: flex !important;
    color: grey !important;
    border-left: 4px solid transparent;
}
.collection .collection-item.active {
    color: #039be5 !important;
    background-color: white;
    border-left: 4px solid !important;
}

.loader-div {
    top: 0%;
    right: 0%;
    position: fixed;
    background: #0000009e;
    height: 100vh;
    width: 100%;
    color: white;
    z-index: 9999999;
}

.loader-img-div {
    position: absolute;
    top: 25%;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

#loom-companion-mv3 {
    display: none !important;
}

.ui-timepicker-standard {
    z-index: 10003 !important;
}

.select2-dropdown {
    z-index: 1000000 !important;
}


@media only screen and (max-width: 1770px) {
    table {
        font-size: 12px !important;
    }

    .type-btn {
        justify-content: start !important;
        flex-wrap: wrap;
    }

    .mobile-margin-1 {
        margin-top: 5px;
        font-size: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .no-mobile-show {
        display: none;
    }
}

@media only screen and (max-width: 1400px) {
    table {
        font-size: 12px !important;
    }

    .type-btn {
        justify-content: start !important;
        flex-wrap: wrap;
    }

    .mobile-margin-1 {
        margin-top: 5px;
        font-size: 8px;
    }
}
/* Remove top gap on backend layout: navbar/content flush to top (story-v2, posts, etc.) */
body .main .content {
    padding-top: 0 !important;
}
.main#top {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.main .container-fluid[data-layout="container"] {
    padding-top: 0 !important;
}

/* /story page: ensure no top gap (body class from backend.stories.index) */
body.page-story .main .content,
body.page-story .main#top,
body.page-story .main .container-fluid[data-layout="container"] {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Add bottom padding to left sidebar navigation */
.navbar-vertical .navbar-vertical-content {
    padding-bottom: 111px !important;
}

/* Hide theme dropdown indicator so we can use custom SVG chevron */
.navbar-vertical .nav-link.dropdown-indicator::before,
.navbar-vertical .nav-link.dropdown-indicator::after {
    display: none !important;
}

/* Section headers: reduce right padding to remove empty space and free space on the right */
.navbar-vertical .nav-link.dropdown-indicator {
    padding-right: 0.25rem;
}

/* Custom dropdown chevron: label column takes remaining space so chevron is right-aligned */
.navbar-vertical .navbar-vertical-label-wrapper {
    display: flex;
    align-items: center;
}
/* Label column grows to 100% of row so chevron sits at right edge */
.navbar-vertical .navbar-vertical-label-wrapper > .navbar-vertical-label {
    flex: 1;
    min-width: 0;
}
/* Divider column takes no space so it doesn't push chevron left */
.navbar-vertical .navbar-vertical-label-wrapper > .col.ps-0 {
    flex: 0 0 0;
    min-width: 0;
}
.navbar-vertical .nav-dropdown-chevron {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0.5;
    padding-left: 0.1rem;
    padding-right: 0.1rem;
    margin-left: 0;
    margin-right: 0;
}
.navbar-vertical .nav-dropdown-chevron svg {
    width: 0.6rem;
    height: 0.6rem;
}
.navbar-vertical .nav-link.dropdown-indicator:not(.collapsed) .nav-dropdown-chevron svg {
    transform: rotate(90deg);
}

/* Remove horizontal lines on left menu */
.navbar-vertical .navbar-vertical-divider {
    display: none !important;
}

/* Left menu hover effect */
.navbar-vertical .navbar-nav .nav-item .nav-link:hover {
    color: var(--falcon-primary) !important;
}

/* Left menu: hide icons on menu items (section headers keep their icons via .navbar-vertical-label) */
.navbar-vertical .nav-link .nav-link-icon {
    display: none !important;
}
/* Show home icon next to Dashboard (outline, 50% opacity) */
.navbar-vertical .nav-link[href="/dashboard"] .nav-link-icon {
    display: inline-flex !important;
    align-items: center;
    width: 1.25rem;
    margin-right: 0.25rem;
    margin-left: -0.5rem;
    opacity: 0.5;
}
/* Show play-circle icon next to Getting Started (outline, 50% opacity) */
.navbar-vertical .nav-link[href="/getting-started"] .nav-link-icon {
    display: inline-flex !important;
    align-items: center;
    width: 1.25rem;
    margin-right: 0.25rem;
    margin-left: -0.5rem;
    opacity: 0.5;
}

/* Left menu: vertical line for submenu items (like reference image) */
.navbar-vertical .navbar-vertical-content .nav.collapse .nav-link {
    border-left: 2px solid #e9ecef;
    padding-left: 0.75rem;
    margin-left: 0.5rem;
}

/* Left menu: align all text vertically – section icon fixed width so label text starts at same position */
.navbar-vertical .navbar-vertical-label .fa,
.navbar-vertical .navbar-vertical-label .fas,
.navbar-vertical .navbar-vertical-label .far,
.navbar-vertical .navbar-vertical-label .fab,
.navbar-vertical .navbar-vertical-label .nav-lantern {
    width: 1.25rem;
    display: inline-block;
    text-align: center;
    margin-right: 0.25rem;
}

/* Chinese New Year round red lantern – gentle sway animation, each independent */
.navbar-vertical .navbar-vertical-label .nav-lantern {
    text-align: left;
    vertical-align: middle;
    transform-origin: 50% 15%;
    animation: lantern-sway 4.5s ease-in-out infinite;
}
.navbar-vertical .navbar-vertical-label .nav-lantern svg {
    width: 100%;
    height: 100%;
    display: block;
}
.navbar-vertical .navbar-vertical-label .nav-lantern-1  { animation-delay: 0s;      animation-duration: 4.2s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-2  { animation-delay: -0.5s;  animation-duration: 4.8s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-3  { animation-delay: -1.1s;  animation-duration: 4.4s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-4  { animation-delay: -1.8s;  animation-duration: 5s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-5  { animation-delay: -0.3s;  animation-duration: 4.6s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-6  { animation-delay: -2.2s;  animation-duration: 4.3s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-7  { animation-delay: -0.9s;  animation-duration: 4.9s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-8  { animation-delay: -1.5s;  animation-duration: 4.1s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-9  { animation-delay: -2.5s;  animation-duration: 4.7s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-10 { animation-delay: -0.7s;  animation-duration: 4.5s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-11 { animation-delay: -1.3s;  animation-duration: 4.4s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-12 { animation-delay: -2s;    animation-duration: 4.8s; }
.navbar-vertical .navbar-vertical-label .nav-lantern-13 { animation-delay: -2.8s;  animation-duration: 4.2s; }

@keyframes lantern-sway {
    0%, 100% { transform: rotate(-6deg); }
    50%      { transform: rotate(6deg); }
}

@media (prefers-reduced-motion: reduce) {
    .navbar-vertical .navbar-vertical-label .nav-lantern {
        animation: none;
    }
}

/* Top-level menu items: same left offset so text aligns with section labels (CALENDAR, etc.) */
.navbar-vertical .navbar-nav > .nav-item > .nav-link[href^="/"] .d-flex {
    padding-left: 1.5rem;
}
/* Getting Started and Dashboard only: padding and align icon to red line */
.navbar-vertical .nav-link[href="/dashboard"] .d-flex,
.navbar-vertical .nav-link[href="/getting-started"] .d-flex {
    padding-left: 1.0rem;
    /* Section headers use .row which has margin-left: -0.75rem; match that so icons align */
    margin-left: -0.75rem;
}

/* Match Getting Started and Dashboard font size to section labels (e.g. CALENDAR, COMMUNICATION) */
.navbar-vertical .nav-link[href="/dashboard"],
.navbar-vertical .nav-link[href="/getting-started"] {
    font-size: 0.8rem;
}

select.form-select {
  font-size: 0.9rem !important;
}