﻿#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    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;
    }

.bg-surface-container-high {
    background-color: #e3dfdf;
}

.bg-surface-container-highest {
    background-color: #e0e0e0 !important;
}

.bg-surface-container-lowest {
    background-color: #ffffff
}

.hover\:bg-surface-container-highest:hover {
    background-color: #e0e0e0 !important;
}
/* Force Inter font for all Syncfusion Chart elements */
.e-chart svg text,
.e-chart .e-chart-title,
.e-chart .e-axis-label,
.e-chart .e-datalabel-text,
.e-chart .e-legend-text,
.e-chart .e-tooltip-wrap,
.e-chart .e-tooltip-text,
.e-accumulationchart svg text {
    font-family: 'Inter', sans-serif !important;
}

/*---------------------------------------------------*/
/* SECTION FOR TRANSPARENT CARDS - BORDERED */
/*---------------------------------------------------*/

/* Borderless card helper (no border, transparent, no shadow) */
.transparent-card.e-card {
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

    .transparent-card.e-card .e-card-content {
        background-color: transparent !important;
        padding-left: 0px !important;
    }

    .transparent-card.e-card:hover,
    .transparent-card.e-card:focus {
        background-color: transparent !important;
    }

        .transparent-card.e-card:hover .e-card-content,
        .transparent-card.e-card:focus .e-card-content {
            background-color: transparent !important;
        }

/*---------------------------------------------------*/
/* SECTION FOR TRANSPARENT CARDS - NO BORDER */
/*---------------------------------------------------*/

/* Remove default e-card border and disable hover background for chart cards only */
.transparent-card-with-border.e-card {
    border: none !important;
    /*box-shadow: none !important;*/ /* optional: remove shadow if present */
    background-color: transparent !important;
}

    /* Ensure the card content area is also transparent and borderless */
    .transparent-card-with-border.e-card .e-card-content {
        /*border: none !important;*/
        background-color: transparent !important;
    }

    /* Disable the light-gray hover/focus background only for these cards */
    .transparent-card-with-border.e-card:hover,
    .transparent-card-with-border.e-card:focus {
        background-color: transparent !important;
    }

        /* In case Syncfusion applies a hover class to an inner wrapper, target that too */
        .transparent-card-with-border.e-card:hover .e-card-content,
        .transparent-card-with-border.e-card:focus .e-card-content {
            background-color: transparent !important;
        }

/*---------------------------------------------------*/
/* SECTION FOR ROUNDED GRID */
/*---------------------------------------------------*/

.rounded-grid {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.03), 0 1px 3px rgba(16, 24, 40, 0.05);
}

    .rounded-grid .e-grid {
        border: 0;
    }

    .rounded-grid .e-gridheader,
    .rounded-grid .e-headercontent {
        background: #f9fafb;
        border-bottom: 1px solid #f1f5f9;
    }

    .rounded-grid .e-gridheader,
    .rounded-grid .e-gridcontent,
    .rounded-grid .e-content {
        border: 0;
    }

        .rounded-grid .e-gridheader table,
        .rounded-grid .e-gridcontent table {
            border-collapse: separate;
            border-spacing: 0;
        }

        .rounded-grid .e-gridheader th {
            color: #6b7280;
            text-transform: uppercase;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.14em;
            border: 0;
            padding: 12px 16px;
        }

    .rounded-grid .e-rowcell {
        border: 0;
        padding: 12px 16px;
    }

    .rounded-grid .e-content {
        background: #ffffff;
    }

    .rounded-grid .e-row {
        transition: background-color 120ms ease-in-out;
    }

        .rounded-grid .e-row:hover .e-rowcell {
            background: #f9fafb;
        }

    .rounded-grid .e-gridcontent tr:not(:last-child) .e-rowcell {
        border-bottom: 1px solid #f1f5f9;
    }

.rounded-grid__footer {
    padding: 12px 16px;
    background: #f9fafb;
    border-top: 1px solid #f1f5f9;
}

.rounded-grid__status {
    font-size: 10px;
    font-weight: 700;
    color: #2563eb;
    white-space: nowrap;
}

.rounded-grid__branch {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
}

.rounded-grid__branch-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    flex: 0 0 auto;
}

.rounded-grid__branch-name {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25rem;
}

.rounded-grid__branch-status {
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    white-space: nowrap;
}

.rounded-grid__footer--actions {
    padding: 12px 16px;
}

.rounded-grid__action-button {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    background: #eaf2f9;
    color: #0f172a;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    border: 0;
}

    .rounded-grid__action-button:hover {
        background: #ccd8e3;
    }



/*---------------------------------------------------*/
/* SECTION FOR ROUNDED CARDS */
/*---------------------------------------------------*/
.rounded-card-no-shadow.e-card,
.rounded-card-no-shadow.e-card:hover,
.rounded-card-no-shadow.e-card:focus,
.rounded-card-no-shadow.e-card:active {
    border: none !important;
    border-radius: 28px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden;
}

    .rounded-card-no-shadow.e-card .e-card-content {
        padding: 0 !important;
    }


.sfcard-with-highlight.e-card {
    border: none !important;
}

/* style alternating row colors in the grid */
.e-grid .e-altrow {
    background-color: #f7f9fc;
}

.aprime-primary-gradient {
    background: linear-gradient(135deg, #4648d4 0%, #6b38d4 100%);
}

.aprime-teal-gradient {
    background: linear-gradient(135deg, #0f9f9a 0%, #0b7f8a 100%);
}

.aprime-yellow-gradient {
    background: linear-gradient(135deg, #f6c445 0%, #d39a1f 100%);
}

.aprime-brown-gradient {
    background: linear-gradient(135deg, #9a6b4d 0%, #6f4a33 100%);
}

.aprime-green-gradient {
    background: linear-gradient(135deg, #42b36a 0%, #2f8f52 100%);
}

.aprime-pink-gradient {
    background: linear-gradient(135deg, #f472b6 0%, #d946ef 100%);
}

.aprime-red-gradient {
    background: linear-gradient(135deg, #fb8f8f 0%, #ef4444 100%);
}

.aprime-gray-gradient {
    background: linear-gradient(135deg, #f3f4f6 0%, #b9bcc2 100%);
}



/* Disable active/selected row background: */
.e-grid .e-row.e-active, .e-grid .e-row.e-selected, .e-grid .e-row.e-selection, .e-grid .e-row.e-hover.e-active {
    background-color: transparent;
    color: inherit;
}


.small-rounded-button {
    border-radius: 20px !important;
    padding-left: 12px !important;
    padding-right: 24px !important;
    width: 100px !important;
}

.rounded-button {
    border-radius: 20px !important;
    padding-left: 12px !important;
    padding-right: 24px !important;
}

.rounded-corner-lg {
    border-radius: 10rem !important;
}

.rounded-corner-xl {
    border-radius: 3rem !important;
}

.rounded-corner-sm {
    border-radius: 1rem !important;
}

/* Rounded DatePicker */
.rounded-datepicker.e-date-wrapper {
    border-radius: 10rem !important;
}

.rounded-datepicker.e-date-wrapper .e-input-group-icon.e-date-icon {
    border-radius: 0 10rem 10rem 0 !important;
}

.e-datepicker.e-popup.e-lib.e-control.rounded-datepicker {
    border-radius: 0.75rem !important;
    overflow: hidden;
}

/*Rounded TextBox */
.rounded-textbox {
    border-radius: 30px !important;
}

/**/
.file-upload-section {
    margin-top: 10px;
    margin-bottom: 10px;
}

.file-upload-container {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 8px;
    border-color: #e1e1e1;
    border-width: medium;
    border-style: dashed;
}

.e-bigger {
    font-size: x-large;
}

.hidden-file-input {
    display: none;
}

.file-upload-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    color: #374151;
    transition: background-color 0.2s;
}

    .file-upload-button:hover {
        background-color: #e5e7eb;
    }

.file-name-display {
    font-size: 14px;
    color: #6b7280;
}

.file-error-message {
    color: #dc2626;
    font-size: 13px;
    margin-top: 5px;
}

/* Blazor/Syncfusion validation message styling */
.validation-message,
.e-grid .validation-message {
    color: #dc2626;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    margin: 5px;
}

.empty-grid-img {
    width: 24px;
    height: 24px;
}

.empty-grid-template {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    gap: 8px; /* Adds space between the image and text */
}

/* Syncfusion DataForm common tweaks */
.aprime-form .e-data-form .e-button-right .e-btn {
    display: none !important;
}

.aprime-form .e-data-form .e-form-label {
    font-weight: bold !important;
    font-size: 14px !important;
}

.hide-header .e-tab-header {
    display: none;
}

.e-grid.aprime-grid-no-border {
    border: 0 !important;
    box-shadow: none !important;
}

.e-grid.aprime-grid-no-border .e-gridheader,
.e-grid.aprime-grid-no-border .e-headercontent,
.e-grid.aprime-grid-no-border .e-gridcontent,
.e-grid.aprime-grid-no-border .e-content,
.e-grid.aprime-grid-no-border .e-gridfooter,
.e-grid.aprime-grid-no-border .e-gridpager {
    border: 0 !important;
}

.e-grid.aprime-grid-no-border .e-gridheader,
.e-grid.aprime-grid-no-border .e-gridcontent,
.e-grid.aprime-grid-no-border .e-gridpager {
    border-width: 0 !important;
}

.aprime-grid-shell-no-border .e-grid {
    border: 0 !important;
    box-shadow: none !important;
}

.aprime-grid-shell-no-border .e-gridheader,
.aprime-grid-shell-no-border .e-headercontent,
.aprime-grid-shell-no-border .e-gridcontent,
.aprime-grid-shell-no-border .e-content,
.aprime-grid-shell-no-border .e-gridfooter,
.aprime-grid-shell-no-border .e-gridpager {
    border: 0 !important;
}

.aprime-grid-shell-no-border .e-gridheader,
.aprime-grid-shell-no-border .e-gridcontent,
.aprime-grid-shell-no-border .e-gridpager {
    border-width: 0 !important;
}

/*
    Semantic color utilities (Bootstrap-like)
    Tailwind utilities are generated from a limited palette in this project,
    so these provide stable class names for app pages.
*/
/*:root {
    --aprime-primary: #2563eb;*/ /* blue */
/*--aprime-success: #16a34a;*/ /* green */
/*--aprime-warning: #f59e0b;*/ /* amber */
/*--aprime-danger: #dc2626;*/ /* red */
/*}

.text-primary {
    color: var(--aprime-primary) !important;
}

.text-success {
    color: var(--aprime-success) !important;
}

.text-warning {
    color: var(--aprime-warning) !important;
}

.text-danger {
    color: var(--aprime-danger) !important;
}

.bg-primary {
    background-color: var(--aprime-primary) !important;
}

.bg-success {
    background-color: var(--aprime-success) !important;
}

.bg-warning {
    background-color: var(--aprime-warning) !important;
}

.bg-danger {
    background-color: var(--aprime-danger) !important;
}

.border-primary {
    border-color: var(--aprime-primary) !important;
}

.border-success {
    border-color: var(--aprime-success) !important;
}

.border-warning {
    border-color: var(--aprime-warning) !important;
}

.border-danger {
    border-color: var(--aprime-danger) !important;
}*/

/* Subtle variants useful for badges/chips */
/*.text-primary-subtle {
    color: color-mix(in srgb, var(--aprime-primary) 85%, black) !important;
}

.text-success-subtle {
    color: color-mix(in srgb, var(--aprime-success) 85%, black) !important;
}

.text-warning-subtle {
    color: color-mix(in srgb, var(--aprime-warning) 85%, black) !important;
}

.text-danger-subtle {
    color: color-mix(in srgb, var(--aprime-danger) 85%, black) !important;
}

.bg-primary-subtle {
    background-color: color-mix(in srgb, var(--aprime-primary) 12%, white) !important;
}

.bg-success-subtle {
    background-color: color-mix(in srgb, var(--aprime-success) 12%, white) !important;
}

.bg-warning-subtle {
    background-color: color-mix(in srgb, var(--aprime-warning) 12%, white) !important;
}

.bg-danger-subtle {
    background-color: color-mix(in srgb, var(--aprime-danger) 12%, white) !important;
}*/

/* Shared responsive utility fallbacks */
@media (min-width: 768px) {
    .md\:flex-row {
        flex-direction: row !important;
    }

    .md\:w-1\/4 {
        width: 25% !important;
    }
}

.items-end {
    align-items: flex-end;
}

/*---------------------------------------------------*/
/* SECTION FOR SHARED PILL/BADGE STYLES */
/*---------------------------------------------------*/
.aprime-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.aprime-pill--tone-primary {
    background-color: #e0e7ff;
    color: #2563eb;
}

.aprime-pill--tone-warning {
    background-color: #ffedd5;
    color: #9a3412;
}

.aprime-pill--tone-accent {
    background-color: #ede9fe;
    color: #6d28d9;
}

.aprime-pill--compact {
    padding: 5px 12px;
    font-weight: 600;
}

.aprime-pill--uppercase {
    text-transform: uppercase;
}

.aprime-pill__icon {
    font-size: 14px;
    line-height: 1;
}

/*---------------------------------------------------*/
/* SECTION FOR SHARED PRIMARY ACTION BUTTON STYLES */
/*---------------------------------------------------*/
.aprime-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 9999px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform 160ms ease, box-shadow 200ms ease, opacity 160ms ease;
}

.aprime-button--full {
    width: 100%;
}

.aprime-button--lg {
    min-height: 60px;
    padding: 0 24px;
}

.aprime-button--primary {
    color: #ffffff;
    background: linear-gradient(90deg, #4648d4 0%, #6b38d4 100%);
    box-shadow: 0 12px 28px rgba(70, 72, 212, 0.28);
}

    .aprime-button--primary:hover {
        box-shadow: 0 16px 34px rgba(70, 72, 212, 0.34);
        transform: translateY(-1px);
    }

    .aprime-button--primary:active {
        transform: translateY(0);
    }

.aprime-button:disabled,
.aprime-button[disabled] {
    cursor: not-allowed;
    opacity: 0.7;
    transform: none;
    box-shadow: none;
}

/*---------------------------------------------------*/
/* SECTION FOR SHARED DROPDOWN BUTTON MENU STYLES */
/*---------------------------------------------------*/
.aprime-btn {
    border-radius: 9999px;
    font-weight: 600;
}

.aprime-btn--md {
    min-height: 40px;
    padding: 0 16px;
    font-size: 14px;
}

.aprime-btn--lg {
    min-height: 48px;
    padding: 0 20px;
    font-size: 15px;
}

/* apply only to the actual button element */
.e-dropdown-btn.aprime-btn--lg {
    min-height: 48px;
    padding: 0 20px;
    font-size: 15px;
}

/* reset popup if needed */
.e-dropdown-popup.aprime-btn--lg {
    min-height: auto;
    padding: 0;
}

/* round only the button */
.e-dropdown-btn.aprime-export-dd {
    border-radius: 3rem !important; /* same as rounded-corner-xl */
}

/* keep popup default (or explicitly reset) */
.e-dropdown-popup.aprime-export-dd {
    border-radius: 0.25rem !important; /* or remove this rule for theme default */
}

.aprime-focus-ring-none:focus,
.aprime-focus-ring-none:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Scoped vertical grid lines for Syncfusion PivotView */
.aprime-pivot-vlines .e-pivotview .e-grid .e-headercell,
.aprime-pivot-vlines .e-pivotview .e-grid .e-rowcell {
    border-right: 1px solid #e5e7eb !important;
}

.aprime-pivot-vlines .e-pivotview .e-grid .e-headercell:last-child,
.aprime-pivot-vlines .e-pivotview .e-grid .e-rowcell:last-child {
    border-right: 0 !important;
}
