@import url("https://fonts.googleapis.com/css?family=Figtree:400,300,700");

/* Note: News Gothic Std is a commercial font. If the font is installed locally or via web fonts, 
   it will be used. Otherwise, it will fall back to Figtree. */

/* OVERRIDES */
:root {
    --hx-grid-sorted-icon-color: #ffffff;
    --hx-sidebar-item-font-size: 1rem;
    --hx-sidebar-item-color: rgba(255, 255, 255, 0.85);
    --hx-sidebar-item-icon-color: rgba(255, 255, 255, 0.85);
    --hx-sidebar-item-hover-color: rgba(255, 255, 255, 1);
    --hx-sidebar-item-hover-icon-color: rgba(255, 255, 255, 1);
    --hx-sidebar-item-active-color: #FF6633;
    --hx-sidebar-toggler-border: 0px;
    --hx-search-box-item-subtitle-color: #6c757d;
    --hx-sidebar-subitem-margin: 0 0 .25rem 1rem;
    --hx-sidebar-subitem-font-size: 0.95rem;
    --hx-form-spacing: 0px;
}

div[data-bs-theme=light], div[data-bs-theme=dark] {
    color: var(--bs-body-color);
    background-color: #2B3674;
}

.hx-toast div[data-bs-theme=light], .hx-toast div[data-bs-theme=dark] {
    background-color: transparent;
}

/*#region HAVIT OVERRIDES */

.card-header {
    font-weight: bold;
    text-transform: uppercase;
}

div[data-bs-theme=light] .settings-sidebar .hx-sidebar-settings {
    background-color: #e9ecef !important;
    border-right: #dee2e6 1px solid;
}

div[data-bs-theme=dark] .settings-sidebar .hx-sidebar-settings {
    background-color: #353b41 !important;
    border-right: #474a4e 1px solid;
}

.grid-selectable.hx-grid td {
    -moz-user-select: none;
}

.sidebar .hx-sidebar-footer {
    display: block !important;
}

.hx-sidebar:not(.collapsed) {
    min-width: 300px;
}

.offcanvas {
    /*width: 95vw !important;*/
}

.offcanvas-header {
    box-shadow: 0px 2px 10px -3px rgba(0,0,0,0.75);
    z-index: 1;
}

.hx-offcanvas-footer {
    box-shadow: 0px -3px 10px -3px rgba(0,0,0,0.75);
    z-index: 1;
}

.required-indicator {
    color: red;
    margin-left: 4px;
}

/*#endregion */
/*#region TELERIK OVERRIDES */

.k-input-solid:focus, .k-input-solid.k-focus {
    box-shadow: rgba(99, 99, 99, 0.2) 0px 1px 4px 0px !important;
}

/* Telerik DropDownList - Orange theme overrides to match Havit controls */
.k-dropdownlist.k-focus,
.k-dropdownlist:focus,
.k-dropdownlist:focus-within,
.k-dropdownlist.k-focus .k-input-inner,
.k-picker-solid:focus,
.k-picker-solid.k-focus,
.k-picker-solid:focus-within {
    border-color: #FF6633 !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 51, 0.15) !important;
}

/* Dropdown list selected item */
.k-list-item.k-selected,
.k-list-item.k-selected:hover,
.k-list-optionlabel.k-selected {
    background-color: #FF6633 !important;
    color: white !important;
}

/* Ensure all text inside selected items is readable (white/light) */
.k-list-item.k-selected *,
.k-list-item.k-selected:hover * {
    color: white !important;
}

/* Slightly muted subtitle text in selected state */
.k-list-item.k-selected div[style*="color: #666"],
.k-list-item.k-selected:hover div[style*="color: #666"] {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Dropdown list hover state */
.k-list-item:hover:not(.k-selected),
.k-list-optionlabel:hover:not(.k-selected) {
    background-color: rgba(255, 102, 51, 0.1) !important;
    color: #17173A !important;
}

/* Dropdown list focus state for items */
.k-list-item:focus,
.k-list-item.k-focus {
    box-shadow: inset 0 0 0 2px rgba(255, 102, 51, 0.3) !important;
}

/* Telerik searchable dropdown filter input */
.k-list-filter .k-searchbox .k-input-inner:focus,
.k-list-filter .k-searchbox.k-focus {
    border-color: #FF6633 !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 51, 0.15) !important;
}

/* Telerik popup styling */
.k-popup {
    border-radius: 8px !important;
    border: 1px solid #E0E5F2 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* Telerik dropdown input styling to match Havit */
.k-dropdownlist,
.k-picker-solid {
    border-radius: 8px !important;
    border: 1px solid #E0E5F2 !important;
    background-color: #FFFFFF !important;
}

.k-dropdownlist .k-input-inner,
.k-picker-solid .k-input-inner {
    font-family: 'Figtree', sans-serif !important;
    color: #17173A !important;
}

/* Dropdown arrow icon */
.k-dropdownlist .k-input-button,
.k-picker-solid .k-input-button {
    color: #9F9FAE !important;
    background-color: transparent !important;
    border: none !important;
}

.k-dropdownlist:hover .k-input-button,
.k-picker-solid:hover .k-input-button {
    color: #FF6633 !important;
}

.grid-selectable .k-table-row {
    cursor: pointer;
}

.k-grid td .hover-link {
    /*color: #314186 !important;*/
    font-weight: bold !important;
}

/* template */
div.custom-ellipsis,
/* OnCellRender */
.k-grid td.custom-ellipsis,
/* OnRowRender */
.k-grid tr.custom-ellipsis .k-table-td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* grid */
.k-grid.font-size,
/* grid toolbar */
.k-grid.font-size .k-toolbar,
/* grid cells */
.k-grid.font-size table,
/* textboxes */
.k-grid.font-size .k-input,
/* date pickers */
.k-grid.font-size .k-picker,
/* buttons */
.k-grid.font-size .k-button,
/* column and filter menu */
.k-popup,
.k-popup .k-input,
.k-popup .k-picker,
.k-popup .k-button,
/* dropdowns */
.k-popup .k-list,
.k-table-td,
.k-column-title {
    font-family: 'Figtree', sans-serif !important;
}
/*#endregion */
/*#region Google Maps InfoWindow */

.gm-style-iw-chr button {
    width: 15px !important;
    height: 20px !important;
}

    .gm-style-iw-chr button span {
        width: 15px !important;
        height: 15px !important;
        margin: 5px !important;
    }

.gm-style .gm-style-iw {
    color: black;
}

.gm-style-iw-d a {
    color: #091827;
}

/*#endregion */
/*#region Cropper OVERRIDES */
img.cropper-container {
    display: none;
}
/*#endregion */

.bt-mobile .mobile-menu-icon {
    color: white;
}

div[data-bs-theme='dark'] .k-grid,
div[data-bs-theme='dark'] .k-editor,
div[data-bs-theme='dark'] .k-content,
div[data-bs-theme='dark'] .k-input-solid {
    background-color: #212529 !important;
}

div[data-bs-theme='dark'] .k-chart > svg > g > path[fill="rgb(0, 0, 0)"] {
    fill: #212529;
}

/***************************/
/* Charts to re-render when switching, so these are manual css fixes under the page is refreshed*/
/***************************/
div[data-bs-theme='light'] .k-chart > svg > g > path[fill="rgb(0, 0, 0)"] {
    fill: rgb(255, 255, 255);
}

div[data-bs-theme='dark'] .k-chart > svg > g > path[fill="rgb(255, 255, 255)"] {
    fill: #212529;
}

div[data-bs-theme='light'] .k-chart > svg > g text[fill="rgb(255, 255, 255)"] {
    fill: rgb(33, 37, 41);
}

div[data-bs-theme='dark'] .k-chart > svg > g text[fill="rgb(33, 37, 41)"] {
    fill: rgb(255, 255, 255);
}
/***************************/

/*#region GLOBALS */

/* lock body to remove scroll bounce on mobile.  Scrolling will be on the main body div */
html {
    position: static;
    overflow-y: hidden;
    height: 100%;
    max-height: 100%;
    overscroll-behavior: none;
}

body {
    overflow: hidden;
    height: 100%;
    max-height: 100%;
    overscroll-behavior: none;
}

html, body {
    height: 100%;
}

body {
    overflow-x: hidden;
    font-family: 'News Gothic Std', 'Figtree', sans-serif !important;
}

/* Body text should use regular font */
p, span, div {
    font-family: 'Figtree', sans-serif;
}

a {
    cursor: pointer;
}

/*#endregion */

/*#region BLAZOR */

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/*#endregion */

.search .dropdown-item div {
    overflow: hidden;
}

.tooltip.show {
    opacity: 1 !important;
}

/*.app-background {
    background-position-y: center;
    background-size: cover;
    background-color: #212529;
}*/

.page-header {
    font-size: 1.85rem;
    font-weight: bold;
    /*color: #333333;*/
}

.visibility-visible {
    visibility: visible !important;
}

.cursor-pointer {
    cursor: pointer;
}

.cover {
    object-fit: cover;
}

.app-logo {
    max-width: 20rem;
    padding: 10px;
}

.profile-page .tab-content {
    height: 100% !important;
}

.nav-pills .nav-link.active {
    background-color: var(--bs-dark);
}


/*#region Agilx Classes */

.square {
    border-radius: 0px !important;
}

.noshadow {
    box-shadow: none !important;
}

.k-editor {
    border-radius: 5px;
}

    .k-editor .k-toolbar {
        border-radius: 5px 5px 0px 0px;
    }

    .k-editor .k-editor-content {
        border-radius: 0px 0px 5px 5px;
    }

/*Spacing between cards*/
.card {
    margin-bottom: 8px;
}

.sc-head-center {
    text-align: center;
}

.line-through {
    text-decoration: line-through
}

.card .card-header h5 {
    margin-bottom: 0px;
    padding-top: 4px;
}

/*#endregion */

/* classes to support Telerik Grid row hovers */

/*.hover-target {
    visibility: hidden;
}

.row-hover:hover .hover-target {
    visibility: visible;
}

.hover-link:hover {
    -webkit-text-decoration: underline;
    text-decoration: underline;
}
*/
/* end */

.bt-mobile-tabbar a {
    color: white;
    text-decoration: none;
}

.bt-mobile-tabbar .active {
    background-color: #0d6efd;
}

/* Mobile */
@media (max-width: 768px) {

    .main-content-container {
    }

    .bt-desktop {
        display: none !important;
    }

    .has-mobile-footer-menu .bt-mobile-padding {
        margin-bottom: 77px;
    }

    .has-mobile-footer-menu .defaultgridheight {
        height: calc(100vh - 340px);
        min-height: 400px;
    }

    .has-mobile-footer-menu .documentgridheight {
        height: calc(100vh - 380px);
        min-height: 400px;
    }

    .has-mobile-footer-menu .photogridheight {
        height: calc(100vh - 250px);
        min-height: 400px;
    }

    .bt-mobile .list-group {
        margin: 0;
        border-radius: 0;
        height: 100%;
        overflow-y: auto;
        position: relative;
    }

    .bt-mobile .list-group-item {
        border-left: none;
        border-right: none;
        padding: 1rem;
        cursor: pointer;
    }

        .bt-mobile .list-group-item:first-child {
            border-top: none;
        }

        .bt-mobile .list-group-item:last-child {
            border-bottom: none;
        }

        .bt-mobile .list-group-item h6 {
            margin: 0;
            font-size: 1rem;
            font-weight: bold;
        }

        .bt-mobile .list-group-item .d-flex {
            gap: 0.5rem;
        }

        .bt-mobile .list-group-item .hx-icon {
            font-size: 1.25rem;
            color: var(--bs-gray-600);
        }

        .bt-mobile .list-group-item:hover {
            background-color: var(--bs-gray-600);
            color: white;
        }

            .bt-mobile .list-group-item:hover h6 {
            }

            .bt-mobile .list-group-item:hover .hx-icon {
                color: #212529;
            }

    .defaultgridheight {
        height: calc(100vh - 240px);
        min-height: 400px;
    }

    .usergridheight {
        height: calc(100vh - 325px);
        min-height: 400px;
    }

    .auditionsgridheight {
        height: calc(100vh - 420px);
        min-height: 400px;
    }

    .resultsgridheight {
        height: calc(100vh - 500px);
        min-height: 400px;
    }

    .storyboardgridheight {
        height: calc(100vh - 275px);
        min-height: 400px;
    }
}

/* Desktop */
@media only screen and (min-width: 768px) {

    .main-content-container {
        height: 100vh
    }

    .bt-mobile {
        display: none !important;
    }

    .defaultgridheight {
        height: calc(100vh - 160px);
        min-height: 400px;
    }

    .usergridheight {
        height: calc(100vh - 205px);
        min-height: 400px;
    }

    .auditionsgridheight {
        height: calc(100vh - 205px);
        min-height: 400px;
    }

    .resultsgridheight {
        height: calc(100vh - 270px);
        min-height: 400px;
    }

    .storyboardgridheight {
        height: calc(100vh - 165px);
        min-height: 400px;
    }

    .documentgridheight {
        height: calc(100vh - 210px);
        min-height: 400px;
    }

    .photogridheight {
        height: calc(100vh - 120px);
        min-height: 400px;
    }
}


/* Style the breadcrumb container */
div[data-bs-theme="light"] .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 5px;
    padding: 5px 5px 5px 10px;
    background-color: #ffffff; /* White background for container */
    border-radius: 0px;
    border: solid #dee2e6 1px;
}

/* Style each breadcrumb item */
div[data-bs-theme="light"] .breadcrumb-item {
    display: flex;
    align-items: center;
    font-weight: normal; /* Adjusted weight for consistency */
    /*color: #3a4d9d;*/ /* Link color */
    margin-right: 5px;
    font-size: 14px; /* Adjust font size */
}

    /* Style for the active breadcrumb item (last item) */
    div[data-bs-theme="light"] .breadcrumb-item.active {
        /*color: #3a4d9d;*/ /* White text */
        padding: 5px 10px; /* Added padding for the active item */
        border-radius: 4px; /* Rounded corners for active item */
        font-weight: bold; /* Bold text for active item */
    }

    /* Breadcrumb links */
    div[data-bs-theme="light"] .breadcrumb-item a {
        /*color: #3a4d9d;*/
        transition: color 0.3s ease;
    }

        div[data-bs-theme="light"] .breadcrumb-item a:hover {
            /*color: #25357c;*/ /* Darker blue on hover */
        }

    /* Divider between breadcrumb items */
    div[data-bs-theme="light"] .breadcrumb-item + .breadcrumb-item::before {
        content: '/';
        /*color: #6c757d;*/
        margin-right: 5px;
        margin-left: 0px;
        font-weight: normal;
    }

/* Style the breadcrumb container */
div[data-bs-theme="dark"] .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 5px;
    padding: 5px 5px 5px 10px;
    background-color: #212529; /* White background for container */
    border-radius: 0px;
    border: solid #474a4e 1px;
}

/* Style each breadcrumb item */
div[data-bs-theme="dark"] .breadcrumb-item {
    display: flex;
    align-items: center;
    font-weight: normal; /* Adjusted weight for consistency */
    /*color: #3a4d9d;*/ /* Link color */
    margin-right: 5px;
    font-size: 14px; /* Adjust font size */
}

    /* Style for the active breadcrumb item (last item) */
    div[data-bs-theme="dark"] .breadcrumb-item.active {
        /*color: #3a4d9d;*/ /* White text */
        padding: 5px 10px; /* Added padding for the active item */
        border-radius: 4px; /* Rounded corners for active item */
        font-weight: bold; /* Bold text for active item */
    }

    /* Breadcrumb links */
    div[data-bs-theme="dark"] .breadcrumb-item a {
        /*color: #3a4d9d;*/
        transition: color 0.3s ease;
    }

        div[data-bs-theme="dark"] .breadcrumb-item a:hover {
            /*color: #25357c;*/ /* Darker blue on hover */
        }

    /* Divider between breadcrumb items */
    div[data-bs-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
        content: '/';
        /*color: #6c757d;*/
        margin-right: 5px;
        margin-left: 0px;
        font-weight: normal;
    }

.bottom-row {
    background-color: #f7f7f7;
    border-top: 1px solid #d6d5d5;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: fixed;
    bottom: 0;
    width: 100vw;
    text-align: center;
}

.footer-text {
    font-size: 0.875rem;
}

/*#region EVENT REGISTRATION STYLES */

/* Event Registration Primary Colors */
.event-primary-btn {
    background-color: #FF6633 !important;
    border-color: #FF6633 !important;
    color: white !important;
}

    .event-primary-btn:hover {
        background-color: #e65529 !important;
        border-color: #e65529 !important;
    }

.event-tab-active {
    border-bottom: 3px solid #FF6633 !important;
    color: #FF6633 !important;
}

/* Stepper Styles */
.registration-stepper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    position: relative;
}

.stepper-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
}

.stepper-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e0e0e0;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 8px;
    z-index: 2;
    position: relative;
}

.stepper-step.active .stepper-circle {
    background-color: #FF6633;
    color: white;
}

.stepper-step.completed .stepper-circle {
    background-color: #4CAF50;
    color: white;
}

.stepper-label {
    font-size: 0.875rem;
    color: #707EAE;
    text-align: center;
}

.stepper-step.active .stepper-label {
    color: #FF6633;
    font-weight: bold;
}

.stepper-line {
    position: absolute;
    top: 20px;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: #e0e0e0;
    z-index: 1;
}

.stepper-step.completed .stepper-line {
    background-color: #4CAF50;
}

.stepper-step:last-child .stepper-line {
    display: none;
}

/* Service Selector Styles */
.service-item {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
    background-color: #fff;
}

    .service-item.selected {
        border-color: #FF6633;
        background-color: #fff5f2;
    }

.service-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.service-name {
    font-weight: bold;
    font-size: 1rem;
}

.service-price {
    color: #FF6633;
    font-weight: bold;
    font-size: 1.1rem;
}

.service-description {
    color: #707EAE;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.quantity-selector {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.quantity-btn {
    width: 30px;
    height: 30px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

    .quantity-btn:hover {
        background-color: #e9ecef;
    }

.quantity-value {
    min-width: 40px;
    text-align: center;
    font-weight: bold;
}

/* Event Card Styles */
.event-card {
    border-radius: 12px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    margin-bottom: 1.5rem;
}

.event-header {
    background-color: #2B3674;
    color: white;
    padding: 1.5rem;
    border-radius: 12px 12px 0 0;
}

    .event-header h2 {
        margin: 0;
        font-size: 1.5rem;
    }

.event-body {
    padding: 1.5rem;
}

/* Announcement Styles */
.announcement-item {
    border-left: 4px solid #FF6633;
    padding: 1rem;
    margin-bottom: 1rem;
    background-color: #f8f9fa;
    border-radius: 4px;
}

.announcement-title {
    font-weight: bold;
    margin-bottom: 0.5rem;
    color: #2B3674;
}

.announcement-date {
    font-size: 0.875rem;
    color: #707EAE;
    margin-bottom: 0.5rem;
}

.announcement-description {
    color: #333;
}

/* Document List Styles */
.document-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    margin-bottom: 0.5rem;
    background-color: #fff;
}

    .document-item:hover {
        background-color: #f8f9fa;
    }

.document-name {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.document-actions {
    display: flex;
    gap: 0.5rem;
}

/* Warning Note Styles */
.warning-note {
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    padding: 1rem;
    margin: 1rem 0;
}

.warning-note-icon {
    color: #ffc107;
    margin-right: 0.5rem;
}

/* Badge Styles for Registration Status */
.badge-completed {
    background-color: #4CAF50 !important;
}

.badge-submitted {
    background-color: #2196F3 !important;
}

.badge-draft {
    background-color: #9E9E9E !important;
}

.badge-unpaid {
    background-color: #FF9800 !important;
}

/*#endregion */

/*#region FIGMA DESIGN SYSTEM OVERRIDES */

.hx-sidebar-settings .hx-sidebar-item.nav-link, .hx-sidebar-settings .hx-sidebar-item.nav-link .hx-sidebar-item-icon {
    color: rgb(43, 54, 116);
}

/* Main content background */
.main-content-container {
    background-color: #F4F7FE !important;
}

@media (max-width: 768px) {
    .main-content-container {
        padding: 1rem !important;
    }
}

/* Sidebar styling - Navy Blue background */
.hx-sidebar {
    background-color: #2B3674 !important;
}

.sidebar {
    background-color: #2B3674 !important;
}

/* Sidebar header (logo area) */
.hx-sidebar-header {
    padding: 1.5rem 1rem;
}

/* Sidebar footer */
.hx-sidebar-footer {
    background-color: #2B3674 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Active sidebar item */
.hx-sidebar-item.active,
.hx-sidebar-item-link.active {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-left: 4px solid #FF6633 !important;
}

/* Sidebar item hover */
.hx-sidebar-item-link:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Notification badge for sidebar items */
.notification-badge {
    width: 8px;
    height: 8px;
    background-color: #4ADE80;
    border-radius: 50%;
    display: inline-block;
    margin-left: 8px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Page headers - match Figma typography */
.page-header,
.card-header h5 {
    font-family: "News Gothic Std", "Figtree", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 120% !important;
    color: #17173A !important;
    margin-bottom: 1.5rem;
}

/* Content area headings - H3 22px */
div[data-bs-theme=light] .card h6 {
    font-family: "News Gothic Std", "Figtree", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #17173A;
    margin-bottom: 0.5rem;
}

/*div[data-bs-theme=light] .card h5 {
    font-family: "News Gothic Std", "Figtree", sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 120%;
    color: #17173A;
}*/

/* Section titles within cards */
.card .card-title {
    font-family: "News Gothic Std", "Figtree", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    color: #17173A;
    margin-bottom: 0.75rem;
}

/* Card styling tweaks for cleaner look */
div[data-bs-theme=light] .card {
    background-color: #FFFFFF;
    border: none;
}

div[data-bs-theme=dark] .card {
    background-color: #1a1d29;
    border: none;
}

/* Update card headers to match design */
.card-header {
    background-color: transparent;
    border-bottom: none;
    font-family: "News Gothic Std", "Figtree", sans-serif;
    font-weight: 700;
    text-transform: none;
    padding: 1.75rem 2rem 1rem 2rem;
    color: #17173A;
}

/*.card-body {
    padding: 2rem;
}*/

/* Tab styling to match Figma underline style */
.nav-underline {
    border-bottom: 1px solid #E0E5F2;
}

    .nav-underline .nav-link {
        color: #707EAE;
        border-bottom: 3px solid transparent;
        padding: 0.75rem 1.25rem;
        margin-bottom: -1px;
        font-weight: 500;
        font-size: 0.95rem;
    }

        .nav-underline .nav-link.active {
            color: #FF6633;
            border-bottom-color: #FF6633;
            background-color: transparent;
            font-weight: 600;
        }

        .nav-underline .nav-link:hover:not(.active):not(.disabled):not(:disabled) {
            color: #17173A;
            background-color: transparent;
        }

        .nav-underline .nav-link.disabled,
        .nav-underline .nav-link:disabled {
            color: #9F9FAE;
            opacity: 0.6;
            cursor: not-allowed;
            pointer-events: none;
        }

/* Disabled tab styling for Havit tabs with underline variant */
.nav-tabs .nav-link.disabled,
.nav-tabs .nav-link:disabled,
.hx-tab-panel .nav-link.disabled,
.hx-tab-panel .nav-link:disabled {
    color: #9F9FAE !important;
    opacity: 0.6;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* Improve form styling */
div[data-bs-theme=light] .k-maskedtextbox{
    /*background-color: #FFFFFF;*/
    border: 1px solid #E0E5F2;
    color: #17173A;
}

div[data-bs-theme=light] .form-control,
div[data-bs-theme=light] .form-select,
div[data-bs-theme=light] .k-maskedtextbox .k-input-inner {
    /*background-color: #FFFFFF;*/
    border: 1px solid #E0E5F2;
    color: #17173A;
    padding: 10px 12px;
    border-radius: 8px;
    line-height: 150%;
}

    div[data-bs-theme=light] .form-control:focus,
    div[data-bs-theme=light] .form-select:focus,
    div[data-bs-theme=light] .k-maskedtextbox .k-input-inner:focus {
        background-color: #FFFFFF;
        border-color: #FF6633;
        box-shadow: 0 0 0 0.2rem rgba(255, 102, 51, 0.15);
    }

div[data-bs-theme=light] .form-label,
.hx-label {
    color: #17173A;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 0.5rem;
}

/* Text colors for better readability */
div[data-bs-theme=light] .text-muted {
    color: #707EAE !important;
}

div[data-bs-theme=light] h1,
div[data-bs-theme=light] h2,
div[data-bs-theme=light] h3,
div[data-bs-theme=light] h4,
div[data-bs-theme=light] h5,
div[data-bs-theme=light] h6 {
    font-family: "News Gothic Std", "Figtree", sans-serif;
    color: #17173A;
}

/* H1 - 32px */
div[data-bs-theme=light] h1 {
    font-size: 32px;
    font-weight: 700;
    line-height: 120%;
}

/* H2 */
div[data-bs-theme=light] h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 120%;
}

/* H3 - 20px */
div[data-bs-theme=light] h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
}

/* H6 - section headings */
div[data-bs-theme=light] h6 {
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
}

/* Button improvements */
.btn-primary,
.hx-btn-primary {
    background-color: #FF6633 !important;
    border-color: #FF6633 !important;
    color: white !important;
}

    .btn-primary:hover,
    .btn-primary:focus,
    .btn-primary:active,
    .hx-btn-primary:hover,
    .hx-btn-primary:focus,
    .hx-btn-primary:active {
        background-color: #e65529 !important;
        border-color: #e65529 !important;
        color: white !important;
    }

/* Havit Select component styling */
.hx-select,
.hx-input-text {
    border-radius: 8px;
}

    .hx-select .form-control,
    .hx-input-text .form-control {
        background-color: #FFFFFF;
        border: 1px solid #E0E5F2;
    }

/* Tab panel content spacing */
.hx-tab-panel-content {
    padding: 0;
}

/* Teacher Registration Form - Figma Design System */
.teacher-registration-card {
    background-color: white;
    border: 1px solid #E3E3E8;
    border-radius: 16px;
    overflow: hidden;
    margin: 0;
}

.teacher-registration-header {
    border-bottom: 1px solid #E3E3E8;
    padding: 24px 32px;
    background-color: white;
}

.teacher-registration-title {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0 0 4px 0;
}

.teacher-registration-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    line-height: 1.4;
}

.summary-item {
    display: flex;
    gap: 4px;
}

.summary-label {
    color: #454561;
    font-weight: 400;
}

.summary-value {
    color: #17173A;
    font-weight: 700;
}

.summary-divider {
    color: #D1D1D8;
    font-weight: 700;
}

.teacher-registration-section {
    padding: 32px;
    background-color: white;
    border-top: 1px solid #E3E3E8;
}

    .teacher-registration-section:first-of-type {
        border-top: none;
    }

.section-title {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0 0 24px 0;
}

.section-subtitle {
    font-size: 14px;
    line-height: 1.4;
    color: #454561;
}

.teacher-registration-questions {
    display: flex;
    gap: 80px;
    margin-bottom: 24px;
}

.question-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.question-label {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #454561;
    margin: 0;
}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.radio-option {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.5;
    color: #454561;
    font-weight: 400;
}

    .radio-option input[type="radio"] {
        width: 16px;
        height: 16px;
        margin: 0;
        cursor: pointer;
        accent-color: #F3581F;
    }

.info-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    line-height: 1.5;
    color: #5D5D75;
    margin-top: 24px;
}

.info-note-icon {
    color: #9F9FAE;
    flex-shrink: 0;
    font-size: 20px;
}

.services-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.service-checkbox-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.service-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.5;
    color: #454561;
}

    .service-checkbox input[type="checkbox"] {
        width: 16px;
        height: 16px;
        margin: 0;
        cursor: pointer;
        border: 1px solid #9F9FAE;
        border-radius: 4px;
        accent-color: #F3581F;
    }

.service-checkbox-text {
    font-weight: 400;
}

.service-quantity-container {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 4px 16px;
    border: 1px solid #E3E3E8;
    border-radius: 12px;
    width: fit-content;
}

.quantity-controls {
    display: flex;
    align-items: center;
    border: 1px solid #D1D1D8;
    border-radius: 6px;
    height: 28px;
}

.quantity-btn {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 16px;
    color: #454561;
}

    .quantity-btn:first-child {
        border-right: 1px solid #D1D1D8;
        border-radius: 6px 0 0 6px;
    }

    .quantity-btn:last-child {
        border-left: 1px solid #D1D1D8;
        border-radius: 0 6px 6px 0;
    }

    .quantity-btn:hover {
        background-color: #F4F4F8;
    }

.quantity-display {
    padding: 0 4px;
    min-width: 40px;
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    color: #17173A;
}

.quantity-total {
    background-color: #F4F4F8;
    padding: 4px 12px;
    border-radius: 8px;
    width: 100px;
}

.total-label {
    font-size: 12px;
    line-height: 1.4;
    color: #454561;
}

.total-amount {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #17173A;
}

.teacher-registration-footer {
    border-top: 1px solid #E3E3E8;
    padding: 24px 32px;
    background-color: white;
}

.register-btn {
    background-color: #F3581F !important;
    border-color: #F3581F !important;
    color: white !important;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 8px;
}

    .register-btn:hover,
    .register-btn:focus,
    .register-btn:active {
        background-color: #e04d17 !important;
        border-color: #e04d17 !important;
    }

/* Event Title Header - Above Tabs */
.event-title-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 6px;
}

.back-button {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: 1px solid #E3E3E8;
    border-radius: 8px;
    cursor: pointer;
    color: #454561;
    padding: 0;
}

    .back-button:hover {
        background-color: #F4F4F8;
    }

.page-title {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0;
}

/* Audition Details - Figma Design System */
.audition-details-card {
    background-color: white;
    border: 1px solid #E3E3E8;
    border-radius: 16px;
    overflow: hidden;
}

.event-details-header {
    padding: 32px;
    display: flex;
    gap: 32px;
    border-bottom: 1px solid #E3E3E8;
}

.event-image-placeholder {
    width: 300px;
    height: 300px;
    background-color: #EAEAF0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.event-image-container {
    width: 300px;
    height: 300px;
    flex-shrink: 0;
}

.event-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.placeholder-icon {
    font-size: 120px;
    color: #ABABC5;
}

.placeholder-icon-small {
    font-size: 48px;
    color: #ABABC5;
}

.event-list-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
}

.event-list-image-placeholder {
    width: 80px;
    height: 80px;
    background-color: #EAEAF0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.event-details-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 8px 0;
}

.event-title-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.event-title {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0;
}

.event-metadata {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.metadata-group {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    line-height: 1.4;
}

.metadata-label {
    color: #9F9FAE;
    font-weight: 400;
}

.metadata-value {
    color: #454561;
    font-weight: 700;
}

.metadata-divider {
    color: #D1D1D8;
    font-weight: 700;
}

.status-badge {
    padding: 4px 8px;
    border-radius: 100px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 400;
}

.status-open {
    background-color: rgba(72, 166, 72, 0.05);
    color: #48A648;
}

.event-description {
    font-size: 16px;
    line-height: 1.5;
    color: #454561;
    margin: 0;
}

.event-actions {
    display: flex;
    gap: 16px;
}

.event-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    height: 40px;
    background-color: #F3581F !important;
    border-color: #F3581F !important;
    color: white !important;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

    .event-action-btn:hover,
    .event-action-btn:focus,
    .event-action-btn:active {
        background-color: #e04d17 !important;
        border-color: #e04d17 !important;
    }

    .event-action-btn:disabled,
    .event-action-btn.disabled {
        background-color: #CCCCCC !important;
        border-color: #CCCCCC !important;
        color: #888888 !important;
        cursor: not-allowed !important;
        opacity: 0.6;
    }

        .event-action-btn:disabled:hover,
        .event-action-btn.disabled:hover,
        .event-action-btn:disabled:focus,
        .event-action-btn.disabled:focus,
        .event-action-btn:disabled:active,
        .event-action-btn.disabled:active {
            background-color: #CCCCCC !important;
            border-color: #CCCCCC !important;
        }

.registration-deadline-message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background-color: #FFF3CD;
    border: 1px solid #FFE69C;
    border-radius: 8px;
    color: #856404;
    font-size: 14px;
    line-height: 1.5;
}

.audition-section {
    padding: 32px;
    border-top: 1px solid #E3E3E8;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.section-heading {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0;
}

.announcements-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.announcement-row {
    display: flex;
    gap: 24px;
}

.announcement-datetime {
    width: 100px;
    font-size: 16px;
    line-height: 1.5;
    color: #454561;
    flex-shrink: 0;
}

.announcement-content {
    flex: 1;
    border-left: 1px solid #E3E3E8;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.announcement-heading {
    font-family: 'News Gothic Std', Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #17173A;
    margin: 0;
}

.announcement-text {
    font-size: 16px;
    line-height: 1.5;
    color: #454561;
    margin: 0;
}

.announcement-document {
    margin-top: 16px;
}

.announcement-button {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    color: #F3581F;
    cursor: pointer;
    width: fit-content;
}

    .announcement-button:hover {
        text-decoration: underline;
    }

.documents-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.document-card {
    border: 1px solid #E3E3E8;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: white;
}

.document-icon-wrapper {
    width: 40px;
    height: 40px;
    background-color: white;
    border-radius: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.document-icon {
    font-size: 24px;
    color: #9F9FAE;
}

.document-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    line-height: 1.4;
}

.document-name {
    font-size: 14px;
    font-weight: 700;
    color: #454561;
}

.document-size {
    font-size: 12px;
    color: #9F9FAE;
}

.document-buttons {
    display: flex;
    gap: 12px;
}

.document-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background-color: white;
    border: 1px solid rgba(23, 23, 58, 0.2);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #454561;
    cursor: pointer;
    line-height: 1.4;
}

    .document-btn:hover {
        background-color: #F4F4F8;
    }

.max-width-150 {
    max-width: 150px;
}

/*#endregion */
