/* /Features/Admin/Pages/PersonSummaryPage.razor.rz.scp.css */
.custom-row[b-vdcofu7pdr] {
    display: flex;
    align-items: stretch;
}

.custom-card[b-vdcofu7pdr] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.custom-card-body[b-vdcofu7pdr] {
    flex: 1;
    overflow-y: auto;
    height:290px;
}
/* /Features/Herds/Components/HerdEditHealthComponent.razor.rz.scp.css */
.row.equal-height[b-jcoq9ijttm] {
    display: flex;
    flex-wrap: wrap;
}

    .row.equal-height > [class^="col-"][b-jcoq9ijttm] {
        display: flex;
    }

.card[b-jcoq9ijttm] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
/* /Features/Herds/Pages/HerdDetails.razor.rz.scp.css */
.custom-card[b-x086xzi4ba] {
    height: 35vh;
    display: flex;
    flex-direction: column;
}

.custom-card-body[b-x086xzi4ba] {
    overflow-y: auto;
    flex: 1;
    height: 290px;
}

.sticky-header th[b-x086xzi4ba] {
    position: sticky;
    background: #f8f9fa;
    z-index: 1;
    top: -16px;
}

.page-busy-overlay[b-x086xzi4ba] {
    position: fixed;
    inset: 0;
    /* Above all page content, but below Radzen's dialog mask (1000) and dialogs (1001)
       so the remove-confirmation dialog stays usable on top of the blocked page. */
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: wait;
    font-size: 3rem;
}
/* /Features/Herds/Pages/HerdList.razor.rz.scp.css */
.pagination-direction[b-lq4y9rjngc] {
    min-width: 7em;
}

.pagination-description[b-lq4y9rjngc] {
    cursor: default;
    text-decoration: none;
    color: var(--bs-body-color);
}

tr:hover td[b-lq4y9rjngc] {
    cursor: pointer;
    user-select: none;
    background-color: var(--bs-primary-bg-subtle) !important;
}

.pagination-controls[b-lq4y9rjngc] {
    margin-top: 0.5rem; /* Adjust spacing if needed */
    flex-shrink: 0; /* Prevent shrinking when modal height is small */
}

.pagination-description:active[b-lq4y9rjngc] {
    color: var(--bs-body-color);
}

.skeleton-loading[b-lq4y9rjngc] {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading-b-lq4y9rjngc 1.5s infinite;
    border-radius: 4px;
}

.skeleton-text[b-lq4y9rjngc] {
    height: 1.2em;
    width: 100%;
    max-width: 120px;
}

.skeleton-button[b-lq4y9rjngc] {
    height: 2em;
    width: 60px;
}

@keyframes loading-b-lq4y9rjngc {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.search-loading[b-lq4y9rjngc] {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid var(--bs-primary);
    border-radius: 50%;
    animation: spin-b-lq4y9rjngc 1s linear infinite;
}

@keyframes spin-b-lq4y9rjngc {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.pagination-loading[b-lq4y9rjngc] {
    opacity: 0.6;
    pointer-events: none;
}
/* /Features/Herds/Pages/HerdMailingSummary.razor.rz.scp.css */

/* An attempt to use angled headers to save space, but it doesn't really work */
.angled-header[b-8ftyvmg2of] {
    position: relative;
    height: 200px;
    width: 40px;
    padding: 0;
    vertical-align: bottom;
    text-align: left;
}

    .angled-header > span[b-8ftyvmg2of] {
        position: absolute;
        bottom: 0;
        left: 0;
        transform: rotate(-60deg);
        transform-origin: bottom left;
        white-space: nowrap;
        width: 120px;
        display: inline-block;
        z-index: 1;
    }


.table-hover-clickable tbody tr[b-8ftyvmg2of] {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.table-hover-clickable tbody tr:hover[b-8ftyvmg2of] {
    background-color: #f8f9fa !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* /Features/Login/Login.razor.rz.scp.css */
.login-box[b-2tu21wc8wm] {
    background-color: white;
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-align: center;
}

.login-logo[b-2tu21wc8wm] {
    width: 150px;
    margin-bottom: 2rem;
}

h2[b-2tu21wc8wm] {
    margin-bottom: 1.5rem;
}

.login-input[b-2tu21wc8wm] {
    display: block;
    width: 100%;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.login-button[b-2tu21wc8wm] {
    width: 100%;
    padding: 0.75rem;
    background-color: #008000;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-bottom: 1.5rem;
}

    .login-button:hover[b-2tu21wc8wm] {
        background-color: #006400;
    }

.loading-container[b-2tu21wc8wm] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    color: #008000;
}

.spinner[b-2tu21wc8wm] {
    width: 20px;
    height: 20px;
    border: 3px solid #008000;
    border-top: 3px solid transparent;
    border-radius: 50%;
    animation: spin-b-2tu21wc8wm 1s linear infinite;
}

@keyframes spin-b-2tu21wc8wm {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* /Features/MonthlyRecording/Components/QuestionInputs/QuestionInputDate.razor.rz.scp.css */
.input-date[b-jucmb144xj] {
    min-width: 20ch;
}
/* /Features/MonthlyRecording/Components/QuestionInputs/QuestionInputMoney.razor.rz.scp.css */
.input-money[b-00lwqbsnm5] {
    min-width: 10ch;
}
/* /Layout/HerdEditMenu.razor.rz.scp.css */

.nav-item[b-lmuhpust41] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}


@media (max-width: 1540px) {
    .nav-item[b-lmuhpust41] {
        font-size: 0.85rem;
        padding-bottom: 0.25rem;
    }
}

    .nav-item[b-lmuhpust41]  a {
        color: #000000;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }


@media (max-width: 1540px) {
    .nav-item[b-lmuhpust41]  a {
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0.25rem 0.5rem;
        font-size: 0.85rem;
        margin: 0.1rem;
        flex: 1 1 auto;
        min-width: fit-content;
        justify-content: center;
        text-align: center;
    }
    
    .nav-item[b-lmuhpust41]  a span {
        font-size: 1rem !important;
        padding-right: 0.5rem;
    }
    

    .nav.flex-row .nav-item[b-lmuhpust41] {
        flex: 1 1 auto;
        margin: 0.1rem;
    }
    
    /* Ensure proper spacing on mobile */
    .nav-scrollable[b-lmuhpust41] {
        padding: 0.5rem;
    }
}

.nav-link.active[b-lmuhpust41] {
    background-color: #008000 !important;
    color: white !important;
    font-weight: bold !important;
    border: 1px solid #016901 !important;
}

.nav-scrollable[b-lmuhpust41] {

    overflow-y: auto;
}


@media (min-width: 1541px) {
    .nav-scrollable[b-lmuhpust41] {
        height: calc(100vh - 3.5rem);
    }
}


@media (max-width: 1540px) {
    .nav-scrollable[b-lmuhpust41] {
        height: auto;
        max-height: 50vh;
    }
}
/* /Layout/HerdEditMenuLayout.razor.rz.scp.css */
.herd-edit-menu[b-ri4lg0xu8u] {
    color: black !important;
    background-color: #DFF2E1 !important;
    height: 75vh;
    border: 1px solid #dee2e6;
    border-radius: 8px;    
    margin-left: 0;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.navbar[b-tmopy668it] {
    height: var(--dm-navbar-top-height);
    background-color: white;
}

#navbarCarousel[b-tmopy668it] {
    background-image: url('../images/carousel/cows-grazing@2x.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-attachment: scroll;
    transition: background-image 1s ease-in-out;
    overflow: hidden;
}

#navbarCarousel .container-fluid[b-tmopy668it] {
    height: 100%;
}

.navbar-brand-h[b-tmopy668it] {
    display: flex;
    align-items: center;
}

/* Hide carousel background and show logo on small screens */
@media (max-width: 991px) {
    #navbarCarousel[b-tmopy668it] {
        background-image: none !important;
        background-color: white;
    }
    
    .navbar-brand-h[b-tmopy668it] {
        display: flex;
    }
}

/* Hide logo on large screens where carousel is visible */
@media (min-width: 992px) {
    .navbar-brand-h[b-tmopy668it] {
        display: none;
    }
}

@media (min-width: 992px) {
    .navbar[b-tmopy668it] {
        margin-left: var(--dm-sidebar-width);
    }
}

.footer[b-tmopy668it] {
    background-color: #008000;
    color: #fff;
    height: 30px;
    padding: 0 1rem;
    box-sizing: border-box;
    width: 100%;
}
/* /Layout/NavMenu.razor.rz.scp.css */
.sidebar[b-9qkkwgv1yd] {
    position: fixed;
    top: 0;
    bottom: 0;
}

#logo[b-9qkkwgv1yd] {
    height: var(--dm-navbar-top-height);
}

.nav-link[b-9qkkwgv1yd] {
    cursor: pointer;
}

.nav-link i[b-9qkkwgv1yd] {
    min-width: 2rem !important;
    margin-right: 0.4rem;
}

@media (min-width: 992px) {
    .sidebar[b-9qkkwgv1yd] {
        width: var(--dm-sidebar-width);
    }
}

.sidebar .nav[b-9qkkwgv1yd] {
    --bs-nav-link-color: var(--t-nav-link-color);
    --bs-nav-link-hover-color: var(--t-primary-bg);
}
.sidebar .nav-pills[b-9qkkwgv1yd] {
    --bs-nav-pills-link-active-color: var(--t-nav-link-active-color);
    --bs-nav-pills-link-active-bg: var(--t-primary-bg);
    --bs-nav-link-color: var(--t-nav-link-color);
    --bs-nav-link-hover-color: var(--t-nav-link-hover-color);
}
[b-9qkkwgv1yd] .nav-pills .nav-link:hover {
    color: var(--t-nav-link-color);
    background: var(--t-primary-bg-subtle);
}
[b-9qkkwgv1yd] .nav-pills .nav-link.active:hover {
    color: var(--t-nav-link-active-color);
    background: var(--t-nav-link-active-hover-bg);
}

#footer a[b-9qkkwgv1yd] {
    color: var(--bs-secondary);
    text-decoration: none;
}

#footer a:hover[b-9qkkwgv1yd] {
    color: var(--bs-primary);
    text-decoration: underline;
}

#footer a:active[b-9qkkwgv1yd] {
    color: var(--bs-primary);
    text-decoration: underline;
}
/* /Shared/Components/ChevronStep.razor.rz.scp.css */
.step-section-container[b-7qmhwm7i4x] {
    padding-left: 1.8em;
}

.btn-with-icon[b-7qmhwm7i4x] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    min-width: 7em
}

    .btn-with-icon i[b-7qmhwm7i4x] {
        display: flex;
        align-items: center;
    }
/* /Shared/Components/GenericListComponent.razor.rz.scp.css */
.table-container[b-e7i8n7vuuj] {
    user-select: none;
    background-color: #fff;
    flex: 1; /* Take up available space in modal body */
    overflow-y: auto; /* Enable vertical scrolling for table */
    overflow-x: auto;
    scrollbar-width: thin; /* For Firefox */
    scrollbar-color: var(--bs-primary) #ffffff00;
    border-bottom: 1px solid #ddd; /* Optional: visually separate from pagination */
}
    .table-container[b-e7i8n7vuuj]::-webkit-scrollbar {
        height: 8px; /* Scrollbar height */
    }

    .table-container[b-e7i8n7vuuj]::-webkit-scrollbar-track {
        background: var(--bs-primary); /* Track background *
        border-radius: 4px; /* Rounded track corners */
    }

    .table-container[b-e7i8n7vuuj]::-webkit-scrollbar-thumb {
        background: var(--bs-primary); /* Thumb color */
        border-radius: 4px; /* Rounded thumb corners */
    }

        .table-container[b-e7i8n7vuuj]::-webkit-scrollbar-thumb:hover {
            background: var(--bs-primary); /* Thumb color on hover */
        }

.pagination-direction[b-e7i8n7vuuj] {
    min-width: 7em;
}

.pagination-description[b-e7i8n7vuuj] {
    cursor: default;
    text-decoration: none;
    color: var(--bs-body-color);
}
.pagination-controls[b-e7i8n7vuuj] {
    margin-top: 0.5rem; /* Adjust spacing if needed */
    flex-shrink: 0; /* Prevent shrinking when modal height is small */
}

.pagination-description:active[b-e7i8n7vuuj] {
    color: var(--bs-body-color);
}
/* /Shared/Components/NotificationComponent.razor.rz.scp.css */
.notification-container[b-egdnfh3g5l] {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.alert[b-egdnfh3g5l] {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.alert-danger .btn-outline-light[b-egdnfh3g5l] {
    border-color: #ffffff;
    color: #000000;
    background-color: #ffffff;
    font-weight: 600;
    border-width: 2px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.alert-danger .btn-outline-light:hover[b-egdnfh3g5l] {
    background-color: #f8f9fa;
    border-color: #ffffff;
    color: #000000;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    }

.progress[b-egdnfh3g5l] {
    height: 5px;
    background-color: var(--bs-tertiary-bg);
}

.progress-bar[b-egdnfh3g5l] {
    transition: width 0.1s linear;
}
/* /Shared/Components/ProgressLoading.razor.rz.scp.css */


@keyframes l20-1-b-1bogeu9zly {
    0% {
        clip-path: polygon(50% 50%,0 0, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0% )
    }

    12.5% {
        clip-path: polygon(50% 50%,0 0, 50% 0%, 100% 0%, 100% 0%, 100% 0%, 100% 0% )
    }

    25% {
        clip-path: polygon(50% 50%,0 0, 50% 0%, 100% 0%, 100% 100%, 100% 100%, 100% 100% )
    }

    50% {
        clip-path: polygon(50% 50%,0 0, 50% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100% )
    }

    62.5% {
        clip-path: polygon(50% 50%,100% 0, 100% 0%, 100% 0%, 100% 100%, 50% 100%, 0% 100% )
    }

    75% {
        clip-path: polygon(50% 50%,100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 100%, 0% 100% )
    }

    100% {
        clip-path: polygon(50% 50%,50% 100%, 50% 100%, 50% 100%, 50% 100%, 50% 100%, 0% 100% )
    }
}

@keyframes l20-2-b-1bogeu9zly {
    0% {
        transform: scaleY(1) rotate(0deg)
    }

    49.99% {
        transform: scaleY(1) rotate(135deg)
    }

    50% {
        transform: scaleY(-1) rotate(0deg)
    }

    100% {
        transform: scaleY(-1) rotate(-135deg)
    }
}
/* /Shared/Components/RecordingStatusComponent.razor.rz.scp.css */

.recording-status-icon[b-9mof451c0h] {
    font-size: 2.5rem;
}

.up-to-date[b-9mof451c0h] {
    color: green;
}

.outdated[b-9mof451c0h] {
    color: red;
}
/* /Shared/Components/SearchableSelect.razor.rz.scp.css */
/* Make RadzenDropDown look like Bootstrap form-control-sm */
[b-v9hobt50o9] .rz-dropdown {
    --rz-icon-size: 16px;
    --rz-input-font-size: 0.875rem;
    --rz-input-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
    padding: 0.25rem 0.5rem;
    border-color: var(--bs-border-color);
    border-radius: var(--bs-border-radius-sm);
    min-width: 15ch;
}

[b-v9hobt50o9] .rz-dropdown:hover {
    border-color: var(--bs-border-color);
}

[b-v9hobt50o9] .rz-dropdown-label {
    text-wrap-mode: wrap;
}

[b-v9hobt50o9] .rz-helper-hidden-accessible {
    /*
    Elements with this class prevent the control from shrinking. Adding a zero width fixes that.
    They already have a zero height, so hopefully this is OK.
    */
    width: 0;
}
/* /Shared/Components/SelectedHerdIdentifier.razor.rz.scp.css */
.separator[b-hbmjp1ddho] {
    margin: 0 2rem;
}
/* /Shared/Components/TableRowComponent.razor.rz.scp.css */
tr[b-rzwlve0b91] {
    height: 41px;
}

td[b-rzwlve0b91], th[b-rzwlve0b91] {
    height: 41px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    th span:hover[b-rzwlve0b91] {
        cursor: pointer;
        user-select: none;
    }

tr:hover td[b-rzwlve0b91] {
    cursor: pointer;
    user-select: none;
    background-color: var(--bs-primary-bg-subtle) !important;
}
/* /Shared/Components/Wizard.razor.rz.scp.css */
.btn-with-icon[b-mut7zx6ve4] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    min-width: 7em
}

    .btn-with-icon i[b-mut7zx6ve4] {
        display: flex;
        align-items: center;
    }
