/* /Components/Appointment/Elements/AppointmentDateCalendar.razor.rz.scp.css */
.appointment-date-calendar[b-o5blixhsrl] {
    width: min(310px, calc(100vw - 3rem));
}

.appointment-date-calendar-sidebar[b-o5blixhsrl] {
    width: fit-content;
}

.appointment-date-calendar-field[b-o5blixhsrl] {
    width: 100%;
}

.appointment-date-calendar:not(.appointment-date-calendar-sidebar)[b-o5blixhsrl]  .mud-picker-static,
.appointment-date-calendar:not(.appointment-date-calendar-sidebar)[b-o5blixhsrl]  .mud-picker-content {
    min-width: 0;
}

.appointment-date-calendar:not(.appointment-date-calendar-sidebar)[b-o5blixhsrl]  .mud-picker-calendar-container,
.appointment-date-calendar:not(.appointment-date-calendar-sidebar)[b-o5blixhsrl]  .mud-picker-month-container {
    width: 100%;
}

@media (max-width: 359.98px) {
    .appointment-date-calendar[b-o5blixhsrl]  .mud-picker-calendar .mud-day,
    .appointment-date-calendar[b-o5blixhsrl]  .mud-picker-calendar-header-day .mud-day-label {
        width: calc(100% / 7);
        margin-inline: 0;
    }

    .appointment-calendar-week-numbers[b-o5blixhsrl]  .mud-picker-calendar .mud-day,
    .appointment-calendar-week-numbers[b-o5blixhsrl]  .mud-picker-calendar-header-day .mud-day-label {
        width: calc((100% - 25px) / 7);
    }
}
/* /Components/Appointment/Elements/AppointmentPreviewPopover.razor.rz.scp.css */
.appointment-slot-trigger[b-kju5ztxcfo] {
    position: relative;
}

.appointment-slot-content[b-kju5ztxcfo] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-inline-end: 1.125rem;
    overflow: hidden;
}

.appointment-slot-status[b-kju5ztxcfo] {
    position: absolute;
    top: 0.125rem;
    right: 0.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
}
/* /Components/Appointment/Elements/BookedSlot.razor.rz.scp.css */
.booked-slot-summary[b-cevb6q7zcu] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 100%;
    min-width: 0;
    padding-inline: 0.5rem;
    overflow: hidden;
}

.booked-slot-details[b-cevb6q7zcu] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    text-align: start;
    line-height: 0.8rem;
}

.booked-slot-time[b-cevb6q7zcu] {
    white-space: nowrap;
}

.booked-slot-name[b-cevb6q7zcu] {
    display: block;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 1.5rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 1.5rem), transparent);
}
/* /Components/Appointment/InfoCard/AppointmentSummaryDateTime.razor.rz.scp.css */
/* CSS for AppointmentSummaryDateTime component */
.summary-datetime[b-469v7lzc16]  {
    .time-chip {
        .mud-chip-content {
            width: 100%;
        }
    }
}

/* /Components/Customer/CustomerInfo.razor.rz.scp.css */
.customer-info[b-o626ozrc09]  .ui-unit-info .value {
    overflow-wrap: anywhere;
}

.customer-info[b-o626ozrc09]  .ui-unit-info-horizontal {
    min-width: 0;
    column-gap: 8px;
}

.customer-info[b-o626ozrc09]  .ui-unit-info-horizontal .value {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: right;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.appbar-content[b-uqndwirn6n] {
    min-width: 0;
}

.appbar-title[b-uqndwirn6n] {
    min-width: 0;
}

.appbar-page-actions[b-uqndwirn6n] {
    container: page-actions / inline-size;
    min-width: 3rem;
}

.appbar-extra-actions:empty[b-uqndwirn6n] {
    display: none;
}

/* Matches the existing Md boundary between header actions and mobile FABs. */
@media (max-width: 959.98px) {
    .appbar-page-actions[b-uqndwirn6n] {
        min-width: 0;
    }
}
/* /Components/Layout/PageActions.razor.rz.scp.css */
.page-actions-header[b-tk3iodne1g] {
    white-space: nowrap;
}

.page-actions-buttons[b-tk3iodne1g] {
    display: none;
}

/* Minimum free header space for one button / two buttons, including icons and gaps. */
@container page-actions (min-width: 14rem) {
    .single-action .page-actions-buttons[b-tk3iodne1g] { display: flex; }
    .single-action .page-actions-overflow[b-tk3iodne1g] { display: none; }
}

@container page-actions (min-width: 28rem) {
    .multiple-actions .page-actions-buttons[b-tk3iodne1g] { display: flex; }
    .multiple-actions .page-actions-overflow[b-tk3iodne1g] { display: none; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-date-selector[b-6gowqhnm54] {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.home-calendar-anchor[b-6gowqhnm54] {
    position: relative;
    min-width: 0;
}
/* /Components/Pages/Install.razor.rz.scp.css */
.install-page[b-4hm6t6dihz] {
    min-height: 100svh;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
}

    .install-page[b-4hm6t6dihz]  .install-logo {
        max-width: 100%;
        height: auto;
    }

/* Native controls keep their JavaScript behavior inside standard MudField borders. */
.install-native-input[b-4hm6t6dihz] {
    width: 100%;
    min-width: 0;
    min-height: 24px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
}

    /* MudField already draws the focus indicator around the complete control. */
    .install-native-input:focus[b-4hm6t6dihz] {
        outline: none;
    }

/* The select itself owns the entire outlined field and its clickable area. */
.install-native-select[b-4hm6t6dihz] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 56px;
    padding: 0 14px;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
}

.install-native-select:focus[b-4hm6t6dihz] {
    border: 2px solid var(--mud-palette-primary);
    padding-inline: 13px;
    outline: none;
}

.install-page[b-4hm6t6dihz]  .install-step-image {
    width: 100%;
    max-width: 360px;
    height: auto;
}

/* MudBlazor display utilities must not override JavaScript's hidden state. */
.install-page[b-4hm6t6dihz]  [hidden],
.install-page[b-4hm6t6dihz]  .install-copy-status:empty,
.install-page[b-4hm6t6dihz]  #install-status:empty {
    display: none !important;
}
/* /Components/Pages/LinkLogin.razor.rz.scp.css */
.link-login[b-qv0569lv7r] {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}

.link-login[b-qv0569lv7r]  .link-login-card {
    width: 100%;
    max-width: 440px;
}

.link-login-logo[b-qv0569lv7r] {
    max-width: 100%;
}

.link-login[b-qv0569lv7r]  .link-login-profile-text,
.link-login[b-qv0569lv7r]  .link-login-description {
    overflow-wrap: anywhere;
}

.link-login[b-qv0569lv7r]  .link-login-description {
    white-space: pre-line;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-pf76s5hvmw] {
    /* Baseline sizes: page 1200px, form 400px, logo 480px. */
    --login-page-width: 1200px;
    --login-form-width: 400px;
    --login-logo-width: 480px;
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    padding: 48px 32px;
    background: #eaecf0;
}

    .login-page[b-pf76s5hvmw]::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 0 0 auto;
        /* Follow the middle of the 64px gap in the centered 60/40 grid. */
        left: calc(50% + (min(var(--login-page-width), 100% - 64px) - 64px) / 10);
        background: #fff;
        border-left: 1px solid #dedede;
    }

.login-layout[b-pf76s5hvmw] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    grid-template-areas:
        "brand access"
        "description access"
        "support access";
    gap: 16px 64px;
    width: 100%;
    max-width: var(--login-page-width);
    margin: auto;
}

.login-brand[b-pf76s5hvmw] {
    grid-area: brand;
}

.login-description[b-pf76s5hvmw] {
    grid-area: description;
}

.login-logo[b-pf76s5hvmw] {
    display: block;
    width: 100%;
    max-width: var(--login-logo-width);
    height: auto;
}

.login-brand[b-pf76s5hvmw]  h1 {
    text-transform: uppercase;
}

.login-access-title[b-pf76s5hvmw] {
    grid-area: access;
    width: 100%;
    max-width: var(--login-form-width);
    justify-self: center;
    margin-bottom: 1rem;
}

.login-access[b-pf76s5hvmw] {
    grid-area: access;
    width: 100%;
    max-width: var(--login-form-width);
    align-self: center;
    justify-self: center;
}

.login-install-link[b-pf76s5hvmw] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.login-support[b-pf76s5hvmw] {
    grid-area: support;
    margin-top: 48px;
}

.login-support-photo[b-pf76s5hvmw] {
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
}

.login-version[b-pf76s5hvmw] {
    text-align: center;
}

/* Stack the content below MudBlazor's Md breakpoint. */
@media (max-width: 959.98px) {
    .login-page[b-pf76s5hvmw] {
        padding: 32px 20px;
    }

        .login-page[b-pf76s5hvmw]::before {
            display: none;
        }

    .login-layout[b-pf76s5hvmw] {
        max-width: 480px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "brand" "title" "access" "description" "support" "version";
        gap: 32px;
    }

    .login-brand[b-pf76s5hvmw] {
        text-align: center;
    }

    .login-access[b-pf76s5hvmw] {
        display: contents;
    }

    .login-access-title[b-pf76s5hvmw] {
        grid-area: title;
        width: 100%;
        max-width: var(--login-form-width);
        justify-self: center;
        margin-bottom: 0;
        text-align: center;

        h1 {
            font-size: 1.5rem;
        }
    }

    .login-form[b-pf76s5hvmw] {
        grid-area: access;
        width: 100%;
        max-width: var(--login-form-width);
        justify-self: center;
    }

    .login-version[b-pf76s5hvmw] {
        grid-area: version;
    }

    .login-logo[b-pf76s5hvmw] {
        max-width: 240px;
        margin: auto;
    }

    .login-brand[b-pf76s5hvmw]  h1 {
        font-size: 1.25rem;
    }

    .login-description[b-pf76s5hvmw] {
        text-align: center;
    }

    .login-support[b-pf76s5hvmw] {
        margin-top: 36px;
    }
}
/* /Components/PersonalPage/PersonalPageDocumentDialog.razor.rz.scp.css */
.document-body[b-aha8qp4fi5] {
    max-width: 100%;
    overflow-x: auto;
    overflow-wrap: anywhere;
    line-height: 1.6;
}
.document-body[b-aha8qp4fi5]  :is(p, ul, ol, blockquote, pre, table) { margin-bottom: 1rem; }
.document-body[b-aha8qp4fi5]  :is(h1, h2, h3, h4, h5, h6) { font-weight: 600; line-height: 1.3; margin: 1.25rem 0 .75rem; }
.document-body[b-aha8qp4fi5]  h1 { font-size: 1.8rem; }
.document-body[b-aha8qp4fi5]  h2 { font-size: 1.5rem; }
.document-body[b-aha8qp4fi5]  h3 { font-size: 1.25rem; }
.document-body[b-aha8qp4fi5]  ul { list-style: disc; padding-left: 1.5rem; }
.document-body[b-aha8qp4fi5]  ol { list-style: decimal; padding-left: 1.5rem; }
.document-body[b-aha8qp4fi5]  strong { font-weight: 700; }
.document-body[b-aha8qp4fi5]  em { font-style: italic; }
.document-body[b-aha8qp4fi5]  a { color: var(--mud-palette-primary); text-decoration: underline; }
.document-body[b-aha8qp4fi5]  table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.document-body[b-aha8qp4fi5]  :is(th, td) { border: 1px solid var(--mud-palette-lines-default); padding: .5rem .75rem; min-width: 100px; }
.document-body[b-aha8qp4fi5]  th { font-weight: 600; text-align: left; }
.document-body[b-aha8qp4fi5]  blockquote { border-left: 3px solid var(--mud-palette-lines-default); padding-left: 1rem; }
.document-body[b-aha8qp4fi5]  pre { overflow-x: auto; padding: .75rem; background: var(--mud-palette-background-gray); }
