/* Plus Jakarta Sans Font Family */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('lib/bootstrap/dist/assets/fonts/PlusJakartaSans/ttf/PlusJakartaSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('lib/bootstrap/dist/assets/fonts/PlusJakartaSans/ttf/PlusJakartaSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('lib/bootstrap/dist/assets/fonts/PlusJakartaSans/ttf/PlusJakartaSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('lib/bootstrap/dist/assets/fonts/PlusJakartaSans/ttf/PlusJakartaSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('lib/bootstrap/dist/assets/fonts/PlusJakartaSans/ttf/PlusJakartaSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Zilla Slab Font Family */
@font-face {
    font-family: 'Zilla Slab';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlab-Regular.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlab-Regular.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlab-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlab-Italic.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlab-Italic.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlab-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlab-Medium.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlab-Medium.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlab-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlab-SemiBold.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlab-SemiBold.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlab-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Zilla Slab';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlab-Bold.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlab-Bold.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlab-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Zilla Slab Highlight Font Family */
@font-face {
    font-family: 'Zilla Slab Highlight';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlabHighlight-Regular.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlabHighlight-Regular.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlabHighlight-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Zilla Slab Highlight';
    src: url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff2/ZillaSlabHighlight-Bold.woff2') format('woff2'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/woff/ZillaSlabHighlight-Bold.woff') format('woff'),
        url('lib/bootstrap/dist/assets/fonts/ZillaSlab/ttf/ZillaSlabHighlight-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Asset Distribution Grid */
.asset-distribution-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    width: 100%;
}

.asset-card {
    min-height: 100px;
    width: 100%;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 1200px) {
    .asset-distribution-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }
}

@media (max-width: 768px) {
    .asset-distribution-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .asset-distribution-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

/* Table borderless styles */
.kds-table.borderless th,
.kds-table.borderless td,
.kds-table.borderless tr {
    border: none !important;
}

.kds-table.borderless {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
}

.table-responsive.rounded-4 {
    width: 100%;
}

.kds-form-control.full-width {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.kds-bg-primary {
    background-color: #001849;
}

/* Prevent horizontal scrolling */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Blazor Error UI */
#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,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHZpZXdCb3g9IjAgMCA1NiA0OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjQ1MTIgMTQuOTUxMkMyMC4wMDQ1IDE0LjUwNDUgMTkuMzM3OSAxNC4yMzEyIDE4LjY3MTIgMTQuMjMxMkMxOC4wMDQ1IDE0LjIzMTIgMTcuMzM3OSAxNC41MDQ1IDE2Ljg5MTIgMTQuOTUxMkMxNi40NDQ1IDE1LjM5NzkgMTYuMTcxMiAxNi4wNjQ1IDE2LjE3MTIgMTYuNzMxMkMxNi4xNzEyIDE3LjM5NzkgMTYuNDQ0NSAxOC4wNjQ1IDE2Ljg5MTIgMTguNTExMkMxNy4zMzc5IDE4Ljk1NzkgMTguMDA0NSAxOS4yMzEyIDE4LjY3MTIgMTkuMjMxMkMxOS4zMzc5IDE5LjIzMTIgMjAuMDA0NSAxOC45NTc5IDIwLjQ1MTIgMTguNTExMkMyMC44OTc5IDE4LjA2NDUgMjEuMTcxMiAxNy4zOTc5IDIxLjE3MTIgMTYuNzMxMkMyMS4xNzEyIDE2LjA2NDUgMjAuODk3OSAxNS4zOTc5IDIwLjQ1MTIgMTQuOTUxMloiIGZpbGw9IiNGRjY2NjYiLz4KPHBhdGggZD0iTTM5LjE3MTIgMTQuOTUxMkMzOC43MjQ1IDE0LjUwNDUgMzguMDU3OSAxNC4yMzEyIDM3LjM5MTIgMTQuMjMxMkMzNi43MjQ1IDE0LjIzMTIgMzYuMDU3OSAxNC41MDQ1IDM1LjYxMTIgMTQuOTUxMkMzNS4xNjQ1IDE1LjM5NzkgMzQuODkxMiAxNi4wNjQ1IDM0Ljg5MTIgMTYuNzMxMkMzNC44OTEyIDE3LjM5NzkgMzUuMTY0NSAxOC4wNjQ1IDM1LjYxMTIgMTguNTExMkMzNi4wNTc5IDE4Ljk1NzkgMzYuNzI0NSAxOS4yMzEyIDM3LjM5MTIgMTkuMjMxMkMzOC4wNTc5IDE5LjIzMTIgMzguNzI0NSAxOC45NTc5IDM5LjE3MTIgMTguNTExMkMzOS42MTc5IDE4LjA2NDUgMzkuODkxMiAxNy4zOTc5IDM5Ljg5MTIgMTYuNzMxMkMzOS44OTEyIDE2LjA2NDUgMzkuNjE3OSAxNS4zOTc5IDM5LjE3MTIgMTQuOTUxMloiIGZpbGw9IiNGRjY2NjYiLz4KPHBhdGggZD0iTTI4IDI4QzI3LjQ0NzcgMjggMjcgMjguNDQ3NyAyNyAyOVYzNEMyNyAzNC41NTIzIDI3LjQ0NzcgMzUgMjggMzVIMjguMDFDMjguNTYyMyAzNSAyOS4wMSAzNC41NTIzIDI5LjAxIDM0VjI5QzI5LjAxIDI4LjQ0NzcgMjguNTYyMyAyOCAyOC4wMSAyOEgyOFoiIGZpbGw9IiNGRjY2NjYiLz4KPHBhdGggZD0iTTI4IDM3SDI4LjAxQzI4LjU2MjMgMzcgMjkuMDEgMzcuNDQ3NyAyOS4wMSAzOEMyOS4wMSAzOC41NTIzIDI4LjU2MjMgMzkgMjguMDEgMzlIMjhDMjcuNDQ3NyAzOSAyNyAzOC41NTIzIDI3IDM4QzI3IDM3LjQ0NzcgMjcuNDQ3NyAzNyAyOCAzN1oiIGZpbGw9IiNGRjY2NjYiLz4KPC9zdmc+) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/* Ensure forms in modals are full width */
.modal form,
.kds-card form {
    width: 100% !important;
    max-width: 100% !important;
}

/* Ensure all form elements in modals are full width */
.modal .kds-form-control,
.kds-card .kds-form-control {
    width: 100% !important;
}

.modal .kds-text-input,
.modal .kds-select,
.kds-card .kds-text-input,
.kds-card .kds-select {
    width: 100% !important;
}

.modal .mb-4,
.kds-card .mb-4 {
    width: 100% !important;
}