:root {
    --ml-color-primary: rgba(8, 37, 46); /*#08252E;*/
    --ml-color-primary-hover: #143641;
    --ml-color-secondary: #907046;
    --ml-color-secondary-hover: #cab9a9;
    --ml-color-page-background: #f5f6f7;
    --ml-color-surface: #ffffff;
    --ml-color-surface-muted: #f6f3ed;
    --ml-color-text: #20272d;
    --ml-color-text-muted: #747b82;
    --ml-color-heading: #1c2c38;
    --ml-color-border: #dce1e5;
    --ml-color-success: #527c63;
    --ml-color-warning: #a96f20;
    --ml-color-danger: #4a100f;
    --ml-color-info: #3d708f;
    --ml-font-family: "Segoe UI", Arial, sans-serif;
    --ml-border-radius-sm: 0.25rem;
    --ml-border-radius: 0.5rem;
    --ml-border-radius-lg: 0.75rem;
    --ml-shadow-sm: 0 1px 2px rgba(20, 32, 42, 0.06);
    --ml-shadow: 0 4px 14px rgba(20, 32, 42, 0.08);
    --ml-shadow-lg: 0 12px 30px rgba(20, 32, 42, 0.12);
    --ml-transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
    --ml-text-dark: #08252e;
    --ml-text-light: #eadac4;
    --ml-bg-dark: #08252e;
    --ml-bg-darkRGBa: 8, 37, 46;
    --ml-bg-light: #eadac4;
    --bs-chartline-color: #6bc282;
    --bs-chartzero-color: #e4e4e4;
    /*
     * Bootstrap variable overrides.
     * Bootstrap components that use these variables will inherit the theme.
     */
    --bs-primary: var(--ml-color-primary);
    --bs-primary-rgb: 37, 58, 74;
    --bs-secondary: var(--ml-color-secondary);
    --bs-secondary-rgb: 170, 128, 85;
    --bs-body-font-family: var(--ml-font-family);
    --bs-body-color: var(--ml-color-text);
    --bs-body-bg: var(--ml-color-page-background);
    --bs-border-color: var(--ml-color-border);
    --bs-border-radius: var(--ml-border-radius);
    --bs-border-radius-lg: var(--ml-border-radius-lg);
    --bs-link-color: var(--ml-color-primary);
    --bs-link-hover-color: var(--ml-color-primary-hover);
    --bs-pagination-active-color: #ffffff;
    --bs-pagination-active-bg: var(--ml-color-primary-hover);
    --bs-pagination-active-border-color: var(--ml-color-primary-hover);
}

.pagination .page-item.active .page-link {
    color: #ffffff;
    background-color: var(--ml-color-primary);
    border-color: var(--ml-color-primary);
}

.bg-dark {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--ml-bg-darkRGBa),var(--bs-bg-opacity)) !important;
}



html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 14px;
    }
}

body {
    min-height: 100vh;
    color: var(--ml-color-text);
    background-color: var(--ml-color-page-background);
    font-family: var(--ml-font-family);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--ml-color-heading);
    font-weight: 650;
    letter-spacing: -0.015em;
}

h1 {
    font-size: clamp(1.75rem, 3vw, 2.35rem);
}

a {
    color: var(--ml-color-primary);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.15em;
}

    a:hover {
        color: var(--ml-color-primary-hover);
    }




.logo {
    height: 30px;
}





.card {
    overflow: hidden;
    background-color: var(--ml-color-surface);
    border: 1px solid var(--ml-color-border);
    border-radius: var(--ml-border-radius-lg);
    box-shadow: var(--ml-shadow-sm);
}

.card-header {
    padding: 1rem 1.25rem;
    color: var(--ml-color-heading);
    background-color: var(--ml-color-surface-muted);
    border-bottom: 1px solid var(--ml-color-border);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.card-body {
    padding: 1.25rem;
}

.card-link {
    transition: var(--ml-transition);
}

    .card-link:hover {
        border-color: rgba(var(--bs-primary-rgb), 0.35);
        box-shadow: var(--ml-shadow);
        transform: translateY(-2px);
    }







.btn {
    border-radius: var(--ml-border-radius);
    font-weight: 650;
    transition: var(--ml-transition);
}

    .btn:focus-visible {
        outline: 3px solid rgba(var(--bs-primary-rgb), 0.22);
        outline-offset: 2px;
        box-shadow: none;
    }

.btn-primary {
    color: #ffffff;
    background-color: var(--ml-color-primary);
    border-color: var(--ml-color-primary);
}

    .btn-primary:hover,
    .btn-primary:focus {
        color: #ffffff;
        background-color: var(--ml-color-primary-hover);
        border-color: var(--ml-color-primary-hover);
    }

.btn-outline-primary {
    color: var(--ml-color-primary);
    background-color: transparent;
    border-color: var(--ml-color-primary);
}

    .btn-outline-primary:hover,
    .btn-outline-primary:focus {
        color: #ffffff;
        background-color: var(--ml-color-primary);
        border-color: var(--ml-color-primary);
    }








.btn-secondary {
    color: #ffffff;
    background-color: var(--ml-color-secondary);
    border-color: var(--ml-color-secondary);
}

    .btn-secondary:hover,
    .btn-secondary:focus {
        color: #ffffff;
        background-color: var(--ml-color-secondary-hover);
        border-color: var(--ml-color-secondary-hover);
    }

.btn-outline-secondary {
    color: var(--ml-color-secondary);
    background-color: transparent;
    border-color: var(--ml-color-secondary);
}

    .btn-outline-secondary:hover,
    .btn-outline-secondary:focus {
        color: #ffffff;
        background-color: var(--ml-color-secondary);
        border-color: var(--ml-color-secondary);
    }













.badge {
    padding: 0.5em 0.75em;
    border-radius: 999px;
    font-weight: 650;
    letter-spacing: 0.01em;
}








.text-bg-success {
    color: #ffffff !important;
    background-color: var(--ml-color-success) !important;
}

.text-bg-warning {
    color: #ffffff !important;
    background-color: var(--ml-color-warning) !important;
}

.text-bg-danger {
    color: #ffffff !important;
    background-color: var(--ml-color-danger) !important;
}

.text-muted {
    color: var(--ml-color-text-muted) !important;
}

.text-dark {
    color: var(--ml-text-dark) !important;
}

.text-light {
    color: var(--ml-text-light) !important;
}










.alert {
    border: 0;
    border-left: 4px solid transparent;
    border-radius: var(--ml-border-radius);
    box-shadow: var(--ml-shadow-sm);
}

.alert-danger {
    color: #702e2e;
    background-color: #faeeee;
    border-left-color: var(--ml-color-danger);
}

.alert-warning {
    color: #704b16;
    background-color: #fff6e6;
    border-left-color: var(--ml-color-warning);
}

.alert-success {
    color: #28533a;
    background-color: #edf7f0;
    border-left-color: var(--ml-color-success);
}

.alert-info {
    color: #28546c;
    background-color: #edf6fa;
    border-left-color: var(--ml-color-info);
}






.form-label {
    color: var(--ml-color-heading);
    font-size: 0.9rem;
    font-weight: 650;
}

.form-control,
.form-select {
    min-height: 2.75rem;
    border-color: var(--ml-color-border);
    border-radius: var(--ml-border-radius);
}

    .form-control:focus,
    .form-select:focus {
        border-color: var(--ml-color-primary);
        box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.14);
    }

.form-check-input:checked {
    background-color: var(--ml-color-primary);
    border-color: var(--ml-color-primary);
}





.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ml-color-text);
    --bs-table-border-color: var(--ml-color-border);
    margin-bottom: 0;
}

    .table > thead > tr > th {
        color: var(--ml-color-heading);
        background-color: var(--ml-color-surface-muted);
        border-bottom-width: 1px;
        font-size: 0.8rem;
        font-weight: 750;
        letter-spacing: 0.035em;
        text-transform: uppercase;
        vertical-align: middle;
    }

    .table > tbody > tr > td {
        vertical-align: middle;
    }

.table-hover > tbody > tr:hover > * {
    --bs-table-bg-state: rgba(var(--bs-primary-rgb), 0.04);
}

.table-responsive {
    border: 1px solid var(--ml-color-border);
    border-radius: var(--ml-border-radius-lg);
    background-color: var(--ml-color-surface);
    box-shadow: var(--ml-shadow-sm);
}









.account-metric-card {
    position: relative;
}

    .account-metric-card::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 4px;
        content: "";
        background-color: var(--ml-color-secondary);
    }

.account-metric-label {
    margin-bottom: 0.35rem;
    color: var(--ml-color-text-muted);
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.account-metric-value {
    color: var(--ml-color-heading);
    font-size: clamp(1.6rem, 3vw, 2.15rem);
    font-weight: 400;
    line-height: 1.1;
}


.footer {
    width: 100%;
    padding: 1.25rem 0;
    background-color: var(--ml-color-surface);
    border-color: var(--ml-color-border) !important;
}



/* Popup detail pages loaded inside the nearly full-screen modal iframe. */
    body.popup-page {
        min-height: 100vh;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    .popup-page main {
        min-height: 100vh;
    }
    /* Compact SVG sign-out button used by employee and customer navigation. */
    .sign-out-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0.5rem !important;
        border-radius: var(--ml-border-radius);
        line-height: 1;
        text-decoration: none;
    }

        .sign-out-button:hover,
        .sign-out-button:focus-visible {
            color: var(--ml-color-secondary) !important;
            background-color: rgba(255, 255, 255, 0.08);
        }

    .sign-out-icon {
        display: block;
        width: 1.25rem;
        height: 1.25rem;
        fill: currentColor;
    }
    /*
 * Keeps detail-table column headings visible while the popup page scrolls.
 */

    .popup-page .table-responsive {
        max-height: calc(100vh - 8rem);
        overflow: auto;
        scrollbar-gutter: stable;
    }

    .popup-page .detail-table-header {
        position: sticky;
        top: 0;
        z-index: 10;
    }

        .popup-page .detail-table-header th {
            background-color: var(--ml-color-surface-muted);
            border-bottom: 1px solid var(--ml-color-border);
            box-shadow: 0 2px 3px rgba(20, 32, 42, 0.08);
        }

    @media (max-width: 767.98px) {
        .popup-page .table-responsive {
            max-height: calc(100vh - 12rem);
        }
    }
    /* tooltips */
    .account-help-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.25rem;
        height: 1.25rem;
        color: var(--ml-color-primary);
        line-height: 1;
        text-decoration: none;
        vertical-align: middle;
    }

        .account-help-button:hover,
        .account-help-button:focus-visible {
            color: var(--ml-color-secondary);
        }

        .account-help-button:focus-visible {
            outline: 2px solid currentColor;
            outline-offset: 2px;
            box-shadow: none;
        }

    .account-help-icon {
        display: block;
        width: 1rem;
        height: 1rem;
        fill: currentColor;
    }
    /*******************************************************
Navigation
*******************************************************/
    .navbar .dropdown-menu {
        min-width: 14rem;
        border-color: var(--ml-color-border);
        box-shadow: 0 0.4rem 1rem rgba(8, 37, 46, 0.14);
    }

    .navbar .dropdown-item:hover,
    .navbar .dropdown-item:focus {
        color: #ffffff;
        background-color: var(--ml-color-primary-hover);
    }

    .navbar .dropdown-item.active,
    .navbar .dropdown-item:active {
        color: #ffffff;
        background-color: var(--ml-color-primary-hover);
    }

    .navbar .dropdown-item.disabled {
        color: var(--ml-color-text-muted);
    }
    /*******************************************************
Printing
*******************************************************/
    @media print {
        /*
     * Hide the normal portal chrome.
     */
        header,
        footer,
        .navbar,
        .modal-header,
        .btn,
        .no-print {
            display: none !important;
        }
        /*
     * Remove layout restrictions that are useful on screen
     * but interfere with printing.
     */
        html,
        body,
        .popup-page,
        .modal,
        .modal-dialog,
        .modal-content,
        .modal-body {
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: visible !important;
            position: static !important;
        }
            /* reduce size for tables */
            .popup-page .table {
                font-size: 7pt;
            }

                .popup-page .table thead th {
                    font-size: 6.5pt !important;
                    font-weight: 700 !important;
                    line-height: 1.15 !important;
                    letter-spacing: 0 !important;
                    text-transform: uppercase;
                    padding: 0.12rem 0.16rem !important;
                    vertical-align: middle !important;
                }

                .popup-page .table td {
                    padding: 0.12rem 0.16rem !important;
                }
            /*
     * Expand responsive and independently scrolling tables
     * so every row is included in the printed output.
     */
            .table-responsive,
            .popup-page .table-responsive,
            .inventory-table-container {
                display: block !important;
                width: 100% !important;
                max-width: none !important;
                height: auto !important;
                max-height: none !important;
                overflow: visible !important;
                scrollbar-gutter: auto !important;
            }
                /*
     * Remove screen-only table minimum widths.
     */
                .table-responsive table,
                .popup-page .table-responsive table,
                .inventory-table-container table {
                    width: 100% !important;
                    min-width: 0 !important;
                    table-layout: auto;
                }
                /*
     * Sticky positioning is unnecessary on paper.
     * The browser can repeat the table heading instead.
     */
                .detail-table-header,
                .popup-page .detail-table-header,
                .inventory-table-container .detail-table-header {
                    position: static !important;
                }

        thead {
            display: table-header-group;
        }

        tfoot {
            display: table-footer-group;
        }
        /*
     * Reduce the chance of splitting an individual row
     * or card across two printed pages.
     */
        tr,
        .card {
            break-inside: avoid;
            page-break-inside: avoid;
        }
        /*
     * Remove decorative screen effects.
     */
        .card,
        .table-responsive {
            box-shadow: none !important;
        }

        a {
            color: inherit !important;
            text-decoration: none !important;
        }
    }
