/* /Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
.info-message[b-eomqxb1f6u] {
    margin: 0.625rem 0 0.625rem 0;
    justify-content: start;
}
/* /Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
.current-logins[b-a66iimk7f2] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.current-logins-item[b-a66iimk7f2] {
    display: flex;
    gap: 0.625rem;
}
/* /Components/Account/Shared/ExternalLoginPicker.razor.rz.scp.css */
.external-logins[b-27jpjiibew] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 500px) {
    .external-logins[b-27jpjiibew] {
        flex-direction: column;
    }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
[b-xbx41grs77] .tab-icon {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
}

[b-xbx41grs77] .icon-profile {
    -webkit-mask-image: url("images/account/manage-profile.svg");
    mask-image: url("images/account/manage-profile.svg");
}

[b-xbx41grs77] .icon-email {
    -webkit-mask-image: url("images/account/manage-email.svg");
    mask-image: url("images/account/manage-email.svg");
}

[b-xbx41grs77] .icon-two-factor {
    -webkit-mask-image: url("images/account/manage-two-factor.svg");
    mask-image: url("images/account/manage-two-factor.svg");
}

[b-xbx41grs77] .icon-password {
    -webkit-mask-image: url("images/account/manage-password.svg");
    mask-image: url("images/account/manage-password.svg");
}

[b-xbx41grs77] .icon-personal {
    -webkit-mask-image: url("images/account/manage-personal.svg");
    mask-image: url("images/account/manage-personal.svg");
}

[b-xbx41grs77] .icon-external {
    -webkit-mask-image: url("images/account/user.svg");
    mask-image: url("images/account/user.svg");
}
/* /Components/Account/Shared/ShowRecoveryCodes.razor.rz.scp.css */
.codes[b-6v2dzn41yp] {
    margin: 0.625rem 0px 0.625rem 0px;
}
/* /Components/Layout/Drawer.razor.rz.scp.css */
.drawer-container[b-hl9y79d47k] {
    height: 100%;
}

[b-hl9y79d47k] .panel-open:not(.mobile) .menu-button-navlink:has(+ .back-button-navlink) {
    display: none;
}

[b-hl9y79d47k] .panel-open:not(.mobile) .menu-button-navlink:not(:has(+ .back-button-navlink)) {
    visibility: hidden;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel {
    background-image: linear-gradient(180deg, var(--bs-primary, var(--dxds-primary-90)) 0%, var(--bs-black, #000) 150%);
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-content {
    overflow: auto;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-header {
    border-bottom: none;
    padding: 2rem 1rem;
    background: none;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-header > .navigation-drawer-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-body {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 1rem;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-footer {
    --dxbl-drawer-panel-footer-justify-content: center;
    border-top: none;
    padding-bottom: 1.5rem;
    width: 240px;
    background: none;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel {
    display: flex;
}

[b-hl9y79d47k] .navigation-drawer.mobile > .dxbl-drawer-panel {
    display: none;
}

[b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-content > .navigation-drawer-shading {
    display: none;
}

@media (max-width: 768px) {
    [b-hl9y79d47k] .panel-open:not(.mobile) .menu-button-navlink:has(+ .back-button-navlink) {
        display: inline-flex;
    }

    [b-hl9y79d47k] .panel-open:not(.mobile) .menu-button-navlink:not(:has(+ .back-button-navlink)) {
        visibility: visible;
    }

    [b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-panel {
        display: none;
    }

    [b-hl9y79d47k] .navigation-drawer.mobile > .dxbl-drawer-panel {
        display: flex;
    }

    [b-hl9y79d47k] .navigation-drawer > .dxbl-drawer-content > .navigation-drawer-shading {
        background-color: var(--dxbl-drawer-content-shading-bg);
        display: block;
        height: 100%;
        position: absolute;
        transition: ease var(--dxbl-drawer-animation-duration);
        transition-property: opacity, visibility;
        visibility: visible;
        width: 100%;
        z-index: 99;
        opacity: var(--dxbl-drawer-content-shading-opacity);
    }

    [b-hl9y79d47k] .navigation-drawer.mobile.panel-closed .navigation-drawer-shading {
        opacity: 0;
        visibility: hidden;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.navigation-drawer-header[b-f0yu4vqgc8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .25rem 1rem .75rem 1rem;
    position: relative;
}

.header-action[b-f0yu4vqgc8] {
    position: absolute;
    top: .25rem;
    right: .75rem;
}

.brand[b-f0yu4vqgc8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .45rem;
    margin-top: 0;
}

.logo[b-f0yu4vqgc8] {
    text-align: center;
    height: 7rem;
    width: auto;
}

.app-name[b-f0yu4vqgc8] {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    color: var(--bs-white, #fff);
}

.page[b-f0yu4vqgc8] {
    height: 100%;
    font-family: var(--bs-font-sans-serif, var(--dxds-font-family-sans-serif));
    min-height: 0;
}

.panel-open .menu-button[b-f0yu4vqgc8] { display: inline-flex; }

.nav-buttons-container[b-f0yu4vqgc8] {
    display: flex;
    gap: 10px;
}

.nav-buttons-container[b-f0yu4vqgc8]  .menubutton-float-end {
    margin-left: auto;
}

.page-content-container[b-f0yu4vqgc8] { flex-grow: 1; }

[b-f0yu4vqgc8] .drawer-content {
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem 1.5rem 1.5rem;
}

/* Restore mask-image assignments for icons used in MainLayout */
[b-f0yu4vqgc8] .icon-back { --icon-mask-image: var(--icon-back-mask-image); }
[b-f0yu4vqgc8] .icon-close { --icon-mask-image: var(--icon-close-mask-image); }
[b-f0yu4vqgc8] .icon-menu { --icon-mask-image: var(--icon-menu-mask-image); }
[b-f0yu4vqgc8] .icon-log-in { --icon-mask-image: var(--icon-log-in-mask-image); }
[b-f0yu4vqgc8] .icon-log-out { --icon-mask-image: var(--icon-log-out-mask-image); }
[b-f0yu4vqgc8] .icon-user { --icon-mask-image: var(--icon-user-mask-image); }
[b-f0yu4vqgc8] .docs-icon { --icon-mask-image: var(--icon-docs-mask-image); }
[b-f0yu4vqgc8] .demos-icon { --icon-mask-image: var(--icon-demos-mask-image); }

/* Optional: ensure visible color for masked icons */
[b-f0yu4vqgc8] .icon {
  background-color: var(--bs-white, #fff);
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
::deep .welcome-gridlayout[b-a4r8lm5k5h] {
    margin: auto;
    width: auto;
    height: auto;
}

[b-a4r8lm5k5h] .welcome-gridlayout .dxbl-gridlayout-root {
    align-content: center;
    justify-content: center;
}

[b-a4r8lm5k5h] .title {
    text-align: center;
}

[b-a4r8lm5k5h] .welcome-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

[b-a4r8lm5k5h] .welcome-card {
    width: 26.25rem;
    height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 1rem;
    color: var(--bs-link-color, var(--dxds-primary-90));
    gap: 1.5rem;
    text-decoration: none;
    position: relative;
}

    [b-a4r8lm5k5h] .welcome-card:hover {
        box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
    }

    [b-a4r8lm5k5h] .welcome-card .welcome-card-img {
        width: 6.5rem;
        height: 6.5rem;
    }

    [b-a4r8lm5k5h] .welcome-card .welcome-card-text {
        font-size: 1.75rem;
        font-weight: 600;
        letter-spacing: 0em;
        text-align: center;
        text-decoration: unset;
    }

    [b-a4r8lm5k5h] .welcome-card .welcome-card-back {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--bs-body-color, var(--dxds-color-content-neutral-default-rest));
        opacity: 0.05;
        border-radius: 1rem;
        z-index: -2;
    }
/* /Components/Pages/Counter.razor.rz.scp.css */
.counter-block[b-4b3bv10bch] {
    display: flex;
    padding: 2.5rem 1.5rem 1.5rem 1.5rem;
    flex-direction: column;
    border-radius: 1rem;
    gap: 1.5rem;
    justify-content: center;
    align-items: center;
    width: 16.875rem;
    height: 17rem;
    position: relative;
}

.counter-block .counter-content[b-4b3bv10bch] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.counter-block .counter-count[b-4b3bv10bch] {
    font-size: 7.5rem;
    font-weight: 400;
    line-height: 7.75rem;
}

.counter-block .counter-block-back[b-4b3bv10bch] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-color, var(--dxds-color-content-neutral-default-rest));
    opacity: 0.05;
    border-radius: 1rem;
    z-index: -2;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* Index.razor: base layout and card styles */
[b-s63itgww9h] .welcome-gridlayout {
    margin: auto;
    width: auto;
    height: auto;
}

[b-s63itgww9h] .welcome-gridlayout .dxbl-gridlayout-root {
    align-content: center;
    justify-content: center;
}

[b-s63itgww9h] .title {
    text-align: center;
}

[b-s63itgww9h] .welcome-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

/* Make all cards equal height (already set) */
[b-s63itgww9h] .welcome-card {
    width: 26.25rem;
    height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* centers overall content */
    gap: 1.5rem;
    text-decoration: none;
    position: relative;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 1rem;
    color: var(--bs-link-color, var(--dxds-primary-90));
}

/* Ensure all cards share a consistent icon/content area height */
.welcome-card[b-s63itgww9h] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Reserve the top content area inside each card */
.welcome-card-icons-column[b-s63itgww9h],
.tool-view-card[b-s63itgww9h] {
    width: 100%;
    min-height: 260px;      /* same top-section height for all cards */
    display: flex;
    align-items: center;    /* vertical center */
    justify-content: center;/* horizontal center */
}

/* Normalize icon area height so text sits at the same vertical position */
[b-s63itgww9h] .welcome-card .welcome-card-icons-column,
[b-s63itgww9h] .welcome-card .welcome-card-img,
[b-s63itgww9h] .welcome-card .single-icon {
    /* Reserve consistent space for icons across all cards */
    min-height: 6.5rem;   /* matches .welcome-card-img size */
    display: flex;
    align-items: center;  /* center icon vertically within this block */
    justify-content: center;
}

/* Pin the card text near the bottom center of the card and give it full width */
[b-s63itgww9h] .welcome-card .welcome-card-text {
    position: absolute;
    bottom: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;

    /* Make text span the card width to avoid wrapping */
    width: calc(100% - 2rem); /* leaves 1rem padding on each side */
    text-align: center;

    /* Prevent wrapping; show ellipsis if it ever exceeds card width */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
    pointer-events: none; /* avoid intercepting hover */
}

/* Text: center consistently; prevent line-height or margins from shifting */
[b-s63itgww9h] .welcome-card .welcome-card-text {
    font-size: 1.75rem;
    font-weight: 600;
    text-align: center;
    margin: 0;             /* remove default margins that can shift text */
    line-height: 1.2;      /* stable line-height */
}

/* Tool View single image sizing + hover */
.tool-view-image[b-s63itgww9h] {
    width: 80%;
    height: auto;
    display: block;
    transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease;
    will-change: transform, filter, box-shadow;
    border-radius: 8px;
}

.tool-view-image:hover[b-s63itgww9h] {
    transform: scale(1.06);
    filter: brightness(1.05);
    box-shadow: 0 0 12px rgba(0, 153, 255, 0.35);
}

[b-s63itgww9h] .welcome-card:hover {
    box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1), 0px 8px 10px -6px rgba(0, 0, 0, 0.1);
}

[b-s63itgww9h] .welcome-card .welcome-card-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-color, var(--dxds-color-content-neutral-default-rest));
    opacity: 0.05;
    border-radius: 1rem;
    z-index: -2;
}

/* Index.razor: Individual machine icon sizing */
[b-s63itgww9h] .welcome-card .machine-icon {
    width: auto;
    height: 75px;
}

/* Index.razor: Single icon sizing for Grinding Schedule */
[b-s63itgww9h] .welcome-card .single-icon {
    width: auto;
    height: 100px;
    margin: 0 auto;         /* center within card content */
    display: block;
}

/* Optional: normalize card text spacing */
.welcome-card-text[b-s63itgww9h] {
    margin-top: 0.75rem;
    text-align: center;
}

/* Hover flash for icons */
[b-s63itgww9h] .welcome-card .machine-icon,
[b-s63itgww9h] .welcome-card .single-icon {
    transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease;
    will-change: transform, filter, box-shadow;
    border-radius: 8px; /* improves glow look */
}

[b-s63itgww9h] .welcome-card .machine-icon:hover,
[b-s63itgww9h] .welcome-card .single-icon:hover {
    transform: scale(1.06);
    filter: brightness(1.1);
    box-shadow: 0 0 12px rgba(0, 153, 255, 0.35);
}

/* Icon + label layout for Machine View */
[b-s63itgww9h] .welcome-card .welcome-card-icons-column {
    display: flex;
    flex-direction: row;     /* horizontal layout */
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
}

[b-s63itgww9h] .welcome-card .machine {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    min-width: 100px; /* keep labels from wrapping weirdly */
}

[b-s63itgww9h] .welcome-card .machine-label {
    font-size: .9rem;
    color: var(--bs-body-color, var(--dxds-color-content-neutral-default-rest));
    opacity: .9;
    text-align: center;
    margin: 0;
    line-height: 1.1;
}

/* Ensure icons don't carry a background */
[b-s63itgww9h] .welcome-card .machine-icon,
[b-s63itgww9h] .welcome-card .single-icon {
    background: transparent;
    display: block;
    border-radius: 0;            /* avoid rounding showing white corners */
    transition: transform 150ms ease, box-shadow 150ms ease;
}

/* Subtle hover without brightening white areas */
[b-s63itgww9h] .welcome-card .machine-icon:hover,
[b-s63itgww9h] .welcome-card .single-icon:hover {
    transform: scale(1.05);
    box-shadow: 0 0 10px rgba(0, 153, 255, 0.35); /* glow around edges */
}

/* Center the single image horizontally and vertically within the Tool View card */
.tool-view-card[b-s63itgww9h] {
    min-height: 260px; /* adjust as needed for your card height */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
/* /Components/Pages/MachineView.razor.rz.scp.css */
/* /Components/Pages/Schedule.razor.rz.scp.css */
