/* Shared layout metrics — single source of truth so pages that size themselves against the
   app bar / fixed footer (e.g. the conversation detail flex column) stay consistent with the
   shell. Change these here, not in per-page calc() expressions. */
:root {
    --dingo-appbar-height: 60px;
    --dingo-footer-reserve: 60px;
}

/*Logo*/
.small-logo {
    max-width: 95px;
    max-height: 80px;
    margin-top: 10px;
}

.normal-logo {
    max-width: 400px;
}

/* Buttons, table headers and input labels are styled by the flat design
   layer (dingo-flat.css + DingoTheme). The old primary-colored table
   headers, bold primary input labels and extra button-label padding
   were removed with the Sliced-inspired restyle. */

.mud-table-sticky-header * .mud-table-root .mud-table-head * .mud-table-cell {
    background-color: var(--mud-palette-surface);
}

.transparent-background {
    background: rgba(0, 0, 0, 0.5);
    background-repeat: no-repeat;
    background-size: cover;
}

.transparent {
    background-color: transparent;
}

.mt-20 {
    margin-top: 100px;
}

.my-20 {
    margin-top: 100px;
    margin-bottom: 100px;
}

.py-20 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.pt-20 {
    padding-top: 100px;
}

.pb-20 {
    padding-bottom: 100px;
}

.pb-150 {
    padding-bottom: 150px;
}

.no-border-radius {
    border-radius: 0px;
}

/* Keep mobile bottom navigation above and outside the fixed footer area */
.bottom-nav {
    bottom: 75px !important;
    z-index: 20 !important;
}

/* Reserve space for bottom-nav + fixed footer in shared public pages */
.content-with-nav {
    padding-bottom: 160px !important;
}

/* Keep mobile bottom navigation above and outside the fixed footer area */
.bottom-nav {
    bottom: 75px !important;
    z-index: 1500 !important;
}

/* Reserve space for bottom-nav + fixed footer in shared public pages */
.content-with-nav {
    padding-bottom: 160px !important;
}
.main-content {
    padding-bottom: var(--dingo-footer-reserve);
    min-height: calc(100vh - var(--dingo-appbar-height));
}

.color-primary {
    color: var(--mud-palette-primary);
}

.color-secondary {
    color: var(--mud-palette-secondary);
}

.mud-progress-linear {
    height: 10px !important;
}

.text-bold {
    font-weight: bold !important;
}

.month-check {
    padding: 0px;
    color: green;
}

    .month-check > span > svg {
        font-size: xxx-large;
    }

.month-cancel {
    padding: 0px;
    color: red;
}

    .month-cancel > span > svg {
        font-size: xxx-large;
    }

.justify-right {
    justify-content: right;
}

.font-large {
    font-size: large;
}

.font-x-large {
    font-size: x-large;
}

.font-xx-large {
    font-size: xx-large;
}

.font-xxx-large {
    font-size: xxx-large;
}

.color-white {
    color: #FFFFFF;
}

.no-padding {
    padding: 0px !important;
}

.background-primary {
    background-color: var(--mud-palette-primary) !important;
}

.text-underline {
    text-decoration: underline;
}

.text-center {
    text-align: center;
}

.text-success {
    color: green;
    font-weight: bold;
}

.mobile-card {
    @media (max-width: 768px) {
        width: 100%; /* Adjust as needed */
    }
}