/* /Components/Account/Pages/Manage/EnableAuthenticator.razor.rz.scp.css */
.info-message[b-joubexd1gx] {
    margin: 0.625rem 0 0.625rem 0;
    justify-content: start;
}
/* /Components/Account/Pages/Manage/ExternalLogins.razor.rz.scp.css */
.current-logins[b-g81vvl4nda] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.current-logins-item[b-g81vvl4nda] {
    display: flex;
    gap: 0.625rem;
}
/* /Components/Account/Shared/ExternalLoginPicker.razor.rz.scp.css */
.external-logins[b-sylg6f5pmn] {
    display: flex;
    gap: 0.5rem;
}

@media (max-width: 500px) {
    .external-logins[b-sylg6f5pmn] {
        flex-direction: column;
    }
}
/* /Components/Account/Shared/ManageLayout.razor.rz.scp.css */
[b-6b5mopx8au] .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-6b5mopx8au] .icon-profile {
    -webkit-mask-image: url("images/account/manage-profile.svg");
    mask-image: url("images/account/manage-profile.svg");
}

[b-6b5mopx8au] .icon-email {
    -webkit-mask-image: url("images/account/manage-email.svg");
    mask-image: url("images/account/manage-email.svg");
}

[b-6b5mopx8au] .icon-two-factor {
    -webkit-mask-image: url("images/account/manage-two-factor.svg");
    mask-image: url("images/account/manage-two-factor.svg");
}

[b-6b5mopx8au] .icon-password {
    -webkit-mask-image: url("images/account/manage-password.svg");
    mask-image: url("images/account/manage-password.svg");
}

[b-6b5mopx8au] .icon-personal {
    -webkit-mask-image: url("images/account/manage-personal.svg");
    mask-image: url("images/account/manage-personal.svg");
}

[b-6b5mopx8au] .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-zffqfti08c] {
    margin: 0.625rem 0px 0.625rem 0px;
}
/* /Components/Layout/Drawer.razor.rz.scp.css */
.drawer-container[b-qo0lcr4aui] {
    height: 100%;
}

[b-qo0lcr4aui] .panel-open:not(.mobile) .menu-button {
    display: none;
}

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel {
    background-image: linear-gradient(180deg,rgba(94, 94, 94, 1) 0%, rgba(114, 169, 79, 1) 15%, rgba(0, 0, 0, 1) 100%);
}

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-content {
    overflow: auto;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* ensure it has a full-height baseline */
}

    /* The wrapper that contains @Body should take the remaining height */
    [b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-content > .p-2 {
        flex: 1 1 auto;
        display: flex; /* so your page can center inside it */
        min-height: 0; /* important when parent has overflow */
    }

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-header {
    border-bottom: none;
    padding: 2rem 1rem;
    background: none;
}

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-header > .navigation-drawer-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel > .dxbl-drawer-body {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 1rem;
}

[b-qo0lcr4aui] .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-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel {
    display: flex;
}

[b-qo0lcr4aui] .navigation-drawer.mobile > .dxbl-drawer-panel {
    display: none;
}

[b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-content > .navigation-drawer-shading {
    display: none;
}

@media (max-width: 768px) {
    [b-qo0lcr4aui] .panel-open:not(.mobile) .menu-button {
        display: inline-flex;
    }

    [b-qo0lcr4aui] .navigation-drawer > .dxbl-drawer-panel {
        display: none;
    }

    [b-qo0lcr4aui] .navigation-drawer.mobile > .dxbl-drawer-panel {
        display: flex;
    }

    [b-qo0lcr4aui] .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-qo0lcr4aui] .navigation-drawer.mobile.panel-closed .navigation-drawer-shading {
        opacity: 0;
        visibility: hidden;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-nodk9rho8d] {
    height: 100%;
    font-family: var(--bs-font-sans-serif, var(--DS-font-family-sans-serif));
    min-height: 0;
}

.logo[b-nodk9rho8d] {
    text-align: center;
}

[b-nodk9rho8d] .icon-back {
    --icon-mask-image: var(--icon-back-mask-image);
}

[b-nodk9rho8d] .icon-close {
    --icon-mask-image: var(--icon-close-mask-image);
}

[b-nodk9rho8d] .icon-menu {
    --icon-mask-image: var(--icon-menu-mask-image);
}

[b-nodk9rho8d] .icon-log-in {
    --icon-mask-image: var(--icon-log-in-mask-image);
}

[b-nodk9rho8d] .icon-log-out {
    --icon-mask-image: var(--icon-log-out-mask-image);
}

[b-nodk9rho8d] .icon-user {
    --icon-mask-image: var(--icon-user-mask-image);
}

[b-nodk9rho8d] .docs-icon {
    --icon-mask-image: var(--icon-docs-mask-image);
}

[b-nodk9rho8d] .demos-icon {
    --icon-mask-image: var(--icon-demos-mask-image);
}

[b-nodk9rho8d] .footer-button:hover .demos-icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-nodk9rho8d] .footer-button:hover .docs-icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-nodk9rho8d] .menu-button:hover .icon {
    background-color: var(--dxbl-btn-hover-color);
}

[b-nodk9rho8d] .menu-button-nav:hover .icon {
    background-color: var(--dxbl-btn-hover-color);
}

.panel-open .menu-button[b-nodk9rho8d] {
    display: inline-flex;
}

.nav-buttons-container[b-nodk9rho8d] {
    display: flex;
    gap: 10px;
    padding: 0rem 1rem 0rem 0rem;
}

    .nav-buttons-container[b-nodk9rho8d]  .menubutton-float-end {
        margin-left: auto;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
[b-3vdq6e18ef] .menu.display-mobile {
    margin-bottom: 2rem;
}

[b-3vdq6e18ef] .menu {
    --dxbl-menu-bottom-left-border-radius: 0;
    --dxbl-menu-bottom-right-border-radius: 0;
    --dxbl-menu-top-left-border-radius: 0;
    --dxbl-menu-top-right-border-radius: 0;

    background-color: inherit;
}

[b-3vdq6e18ef] .menu .dxbl-menu-item-list {
    gap: 0.5rem;
}

[b-3vdq6e18ef] .menu-item {
    color: var(--bs-white, #fff);
}

[b-3vdq6e18ef] .icon {
    margin-left: 0.5rem;
}

[b-3vdq6e18ef] .home-icon {
    --icon-mask-image: var(--icon-home-mask-image);
}

[b-3vdq6e18ef] .weather-icon {
    --icon-mask-image: var(--icon-weather-mask-image);
}

[b-3vdq6e18ef] .counter-icon {
    --icon-mask-image: var(--icon-counter-mask-image);
}

[b-3vdq6e18ef] .settings-icon {
    --icon-mask-image: var(--icon-settings-mask-image);
}

[b-3vdq6e18ef] .log-in-icon {
    --icon-mask-image: var(--icon-log-in-mask-image);
}

[b-3vdq6e18ef] .log-out-icon {
    --icon-mask-image: var(--icon-log-out-mask-image);
}

[b-3vdq6e18ef] .user-icon {
    --icon-mask-image: var(--icon-user-mask-image);
}

@media (max-width: 768px) {
    #sidebar[b-3vdq6e18ef] {
        min-width: inherit;
        max-width: inherit;
        display: block;
    }

    .logo[b-3vdq6e18ef] {
        text-align: inherit;
    }
}
/* /Components/Pages/Counter.razor.rz.scp.css */
.counter-block[b-qoz9ekijd9] {
    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-qoz9ekijd9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.counter-block .counter-count[b-qoz9ekijd9] {
    font-size: 7.5rem;
    font-weight: 400;
    line-height: 7.75rem;
}

.counter-block .counter-block-back[b-qoz9ekijd9] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-color, var(--DS-color-content-neutral-default-rest));
    opacity: 0.05;
    border-radius: 1rem;
    z-index: -2;
}
/* /Components/Pages/Index.razor.rz.scp.css */
[b-tth5vu5u8y] .welcome-gridlayout {
    margin: auto;
    width: auto;
    height: auto;
}

[b-tth5vu5u8y] .welcome-gridlayout .dxbl-gridlayout-root {
    align-content: center;
    justify-content: center;
}

[b-tth5vu5u8y] .title {
    text-align: center;
}

[b-tth5vu5u8y] .welcome-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

[b-tth5vu5u8y] .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(--DS-primary-90));
    gap: 1.5rem;
    text-decoration: none;
    position: relative;
}

[b-tth5vu5u8y] .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-tth5vu5u8y] .welcome-card .welcome-card-img {
    width: 6.5rem;
    height: 6.5rem;
}

[b-tth5vu5u8y] .welcome-card .welcome-card-text {
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: 0em;
    text-align: center;
    text-decoration: unset;
}

[b-tth5vu5u8y] .welcome-card .welcome-card-back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bs-body-color, var(--DS-color-content-neutral-default-rest));
    opacity: 0.05;
    border-radius: 1rem;
    z-index: -2;
}




/* --- container --- */
/* Ensure a clean stacking context */
[b-tth5vu5u8y] .home-page {
    position: relative;
    isolation: isolate; /* important */
}

    /* Gradient (behind everything) */
    [b-tth5vu5u8y] .home-page::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        z-index: -2;
        opacity: 0;
        background: radial-gradient(circle at 20% 15%, rgba(153, 204, 0, 0.14), transparent 45%), radial-gradient(circle at 80% 20%, rgba(185, 230, 255, 0.14), transparent 50%), linear-gradient(180deg, rgba(255,255,255,0.75), rgba(255,255,255,0));
        animation: bgFadeIn-b-tth5vu5u8y 900ms ease forwards;
        animation-delay: 150ms;
    }

    /* Industrial texture (SVG hatch + rivet dots) */
    [b-tth5vu5u8y] .home-page::after {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        z-index: -1;
        opacity: 0;
        animation: bgFadeIn-b-tth5vu5u8y 900ms ease forwards;
        animation-delay: 150ms;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cdefs%3E%3Cpattern id='p' width='16' height='16' patternUnits='userSpaceOnUse'%3E%3Cpath d='M0 16 L16 0' stroke='%23000' stroke-opacity='0.09' stroke-width='1'/%3E%3Ccircle cx='2.5' cy='2.5' r='1.1' fill='%23000' fill-opacity='0.07'/%3E%3Ccircle cx='13.5' cy='13.5' r='1.1' fill='%23000' fill-opacity='0.05'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='160' height='160' fill='url(%23p)'/%3E%3C/svg%3E"), radial-gradient(circle at 50% 40%, transparent 55%, rgba(0,0,0,.06) 100%);
        background-repeat: repeat, no-repeat;
        background-size: 220px 220px, 100% 100%;
        opacity: 0.30; /* bump visibility for light theme */
    }

@keyframes bgFadeIn-b-tth5vu5u8y {
    to {
        opacity: 1;
    }
}


/* Center your page content inside the drawer content */
[b-tth5vu5u8y] .home-page.main-content {
    min-height: 100dvh;
    min-height: 100vh;
    display: grid;
    place-items: center;
    overflow-x: hidden; /* defensive */
}

[b-tth5vu5u8y] .eco-anim {
    display: grid;
    place-items: center;
    min-height: 300px;
    position: relative;
    z-index: 1;
}

/* --- the square stage --- */
[b-tth5vu5u8y] .frame {
    /* final square size */
    --size: 360px;
    /* profile thickness */
    --bar: 14px;
    /* how far bars start from center (bigger => more travel) */
    --start-offset: 140px;
    /* colors */
    --profile: #bfc3c7; /* light gray aluminum */
    --profile-shadow: rgba(0,0,0,.18);
    --glass: rgba(185, 230, 255, .18);
    width: var(--size);
    height: var(--size);
    position: relative;
    border-radius: 0px;
    overflow: hidden;
    background: transparent;
}

/* --- frame bars --- */
[b-tth5vu5u8y] .bar {
    position: absolute;
    /* brushed metal look */
    background:
    /* micro vertical brush lines */
    repeating-linear-gradient( 90deg, rgba(255,255,255,.10) 0px, rgba(255,255,255,.10) 1px, rgba(0,0,0,.04) 2px, rgba(0,0,0,.04) 3px ),
    /* gentle metal shading */
    linear-gradient(180deg, #dfe2e5, var(--profile));
    box-shadow: 0 6px 18px var(--profile-shadow);
    opacity: 0;
    animation: barIn-b-tth5vu5u8y 900ms cubic-bezier(.2,.9,.2,1) forwards;
}

/* Top/Bottom bars */
[b-tth5vu5u8y] .bar--top,
[b-tth5vu5u8y] .bar--bottom {
    left: 0;
    width: 100%;
    height: var(--bar);
}

[b-tth5vu5u8y] .bar--top {
    top: 0;
    transform: translateY(var(--start-offset));
    animation-delay: 0ms;
}

[b-tth5vu5u8y] .bar--bottom {
    bottom: 0;
    transform: translateY(calc(var(--start-offset) * -1));
    animation-delay: 90ms;
}

/* Left/Right bars */
[b-tth5vu5u8y] .bar--left,
[b-tth5vu5u8y] .bar--right {
    top: 0;
    height: 100%;
    width: var(--bar);
}

[b-tth5vu5u8y] .bar--left {
    left: 0;
    transform: translateX(var(--start-offset));
    animation-delay: 180ms;
}

[b-tth5vu5u8y] .bar--right {
    right: 0;
    transform: translateX(calc(var(--start-offset) * -1));
    animation-delay: 270ms;
}

@keyframes barIn-b-tth5vu5u8y {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        transform: translate(0,0);
    }
}

/* --- glass pane --- */
[b-tth5vu5u8y] .glass {
    position: absolute;
    inset: var(--bar);
    border-radius: 8px;
    /* starts “below” and slides into place */
    transform: translateY(115%);
    opacity: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,0) 40%), radial-gradient(circle at 20% 15%, rgba(255,255,255,.35), transparent 35%), var(--glass);
    border: 1px solid rgba(255,255,255,.35);
    box-shadow: inset 0 0 0 1px rgba(80,120,150,.12);
    /* “clear glass” vibe */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: glassIn-b-tth5vu5u8y 850ms cubic-bezier(.2,.9,.2,1) forwards;
    animation-delay: 520ms; /* after bars are mostly in */
}

    /* reflection sweep */
    [b-tth5vu5u8y] .glass::after {
        content: "";
        position: absolute;
        inset: -30% -40%; /* oversize so it can sweep across */
        pointer-events: none;
        opacity: 0;
        /* a diagonal glossy streak */
        background: linear-gradient( 120deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60% );
        transform: translateX(-40%) translateY(10%) rotate(0deg);
        animation: glassSweep-b-tth5vu5u8y 1200ms ease forwards;
        animation-delay: 1050ms; /* after glass comes in */
    }

@keyframes glassSweep-b-tth5vu5u8y {
    0% {
        opacity: 0;
        transform: translateX(-55%) translateY(18%);
    }

    15% {
        opacity: .45;
    }

    70% {
        opacity: .25;
    }

    100% {
        opacity: 0;
        transform: translateX(55%) translateY(-18%);
    }
}

@keyframes glassIn-b-tth5vu5u8y {
    0% {
        transform: translateY(115%);
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* --- logo reveal --- */
[b-tth5vu5u8y] .logo {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    opacity: 0;
    transform: scale(.92);
    filter: blur(2px);
    animation: logoIn-b-tth5vu5u8y 650ms ease forwards;
    animation-delay: 1200ms; /* after glass settles */
}

    /* the actual image */
    [b-tth5vu5u8y] .logo::before {
        content: "";
        width: 70%;
        height: 35%;
        background-image: url("/images/eco-logo-no-space.png");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
    }


@keyframes logoIn-b-tth5vu5u8y {
    to {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

/* --- optional: loop the whole thing --- */
/* Uncomment to loop:
.frame .bar, .glass, .logo { animation-iteration-count: infinite; animation-duration: ... }
*/

/* --- accessibility: respect reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .bar[b-tth5vu5u8y], .glass[b-tth5vu5u8y], .logo[b-tth5vu5u8y] {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}
/* /Components/Pages/POSnapshot/POSnapshots.razor.rz.scp.css */

.po-qty-green[b-xh3ti4wzoe] {
    background-color: #198754; /* green */
    color: #ffffff;
}

.po-qty-orange[b-xh3ti4wzoe] {
    background-color: #fd7e14; /* orange */
    color: #000000;
}

.po-qty-red[b-xh3ti4wzoe] {
    background-color: #dc3545; /* red */
    color: #ffffff;
}

.po-qty-cell[b-xh3ti4wzoe] {
    padding: 2px 4px;
    text-align: center;
    border-radius: 4px;
}


/* /Components/Pages/POSnapshot/_POSnapshotsHeader.razor.rz.scp.css */

.dxbl-grid-detail-cell[b-ry1j3rs92x] {
    padding: 0px !important;
}

.grp-bg[b-ry1j3rs92x] {
    border-top: solid;
    border-left: solid;
    border-color: lightgray;
    border-width: 1px;
}
