/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-pfhhglb7mm] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-pfhhglb7mm] {
    flex: 1;
}

.sidebar[b-pfhhglb7mm] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-pfhhglb7mm] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-pfhhglb7mm]  a, .top-row[b-pfhhglb7mm]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-pfhhglb7mm]  a:hover, .top-row[b-pfhhglb7mm]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-pfhhglb7mm]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-pfhhglb7mm] {
        justify-content: space-between;
    }

    .top-row[b-pfhhglb7mm]  a, .top-row[b-pfhhglb7mm]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-pfhhglb7mm] {
        flex-direction: row;
    }

    .sidebar[b-pfhhglb7mm] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-pfhhglb7mm] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-pfhhglb7mm]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-pfhhglb7mm], article[b-pfhhglb7mm] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-pfhhglb7mm] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-pfhhglb7mm] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ghqhp9bl8u] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ghqhp9bl8u] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ghqhp9bl8u] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ghqhp9bl8u] {
    font-size: 1.1rem;
}

.bi[b-ghqhp9bl8u] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ghqhp9bl8u] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ghqhp9bl8u] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ghqhp9bl8u] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}


.navbar-nav .nav-link[b-ghqhp9bl8u] {
    margin-top:5px;
    margin-left: 24px;
    font-size: 1.3em;
    font-weight: 400;
}
.dropdown-item[b-ghqhp9bl8u] {
    font-size: 1.2em;
}

/*
.nav-item {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type {
        padding-top: 1rem;
    }

    .nav-item:last-of-type {
        padding-bottom: 1rem;
    }

    .nav-item ::deep .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item ::deep a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item ::deep .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable {
    display: block;
}*/
@media (min-width: 992px) {
    .navbar-toggler[b-ghqhp9bl8u] {
        display: none;
    }

    .nav-scrollable[b-ghqhp9bl8u] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}


/*button.btn:focus,
button.btn:focus-visible,
button.btn:active:focus,
button.btn.active:focus {
    outline: none !important;
    box-shadow: none !important;
}*/
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-exyr4egyup],
.components-reconnect-repeated-attempt-visible[b-exyr4egyup],
.components-reconnect-failed-visible[b-exyr4egyup],
.components-pause-visible[b-exyr4egyup],
.components-resume-failed-visible[b-exyr4egyup],
.components-rejoining-animation[b-exyr4egyup] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-retrying[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-failed[b-exyr4egyup],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-exyr4egyup] {
    display: block;
}


#components-reconnect-modal[b-exyr4egyup] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-exyr4egyup 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-exyr4egyup 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-exyr4egyup 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-exyr4egyup]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-exyr4egyup 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-exyr4egyup {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-exyr4egyup {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-exyr4egyup {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-exyr4egyup] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-exyr4egyup] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-exyr4egyup] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-exyr4egyup] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-exyr4egyup] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-exyr4egyup] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-exyr4egyup] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-exyr4egyup 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-exyr4egyup] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-exyr4egyup {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/About.razor.rz.scp.css */
.aboutjumbo[b-ydd5p307zi] {
    background: linear-gradient(45deg, #2196F3 0%, #010c14 100%);
    background-size: 200% 200%;
    height: 100%;
    width: 100%;
    -webkit-animation: background 8s ease infinite;
    animation: background-b-ydd5p307zi 8s ease infinite;
}

@-webkit-keyframes background {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes background-b-ydd5p307zi {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}
/* A `.container { font-size: 1.3em }` used to sit here, left over from the old
   theme. It inflated everything on the page; paragraphs were rescued by the
   global `p` rule but list items were not, so the roadmap bullets rendered at
   20.8px against 16px body text everywhere else. */
/* /Components/Pages/Compatibility.razor.rz.scp.css */
.results-box[b-qaeh32z47w] {
    background-color: white;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 0 5px rgba(0,0,0,0.05);
}

.search-container[b-qaeh32z47w] {
    background-color: #233145;
    flex-grow: 1;
    padding: 2rem 1rem;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


.search-box[b-qaeh32z47w] {
    color: white;
    /*  background-color: white */;
    padding: 2rem 1rem; /* 
        border-radius: 0.5rem; */
    width: 100%;
    max-width: 400px;
    /*       box-shadow: 0 0 5px rgba(0,0,0,0.1); */
}


@media (min-width: 1212px) {
    .search-container[b-qaeh32z47w] {
        min-height: 550px;
    }
}
/* /Components/Pages/DatabaseBackup.razor.rz.scp.css */
.database-admin-page[b-a07quco0k0] {
    --ink: #132238; --muted: #65758b; --line: #dce4eb;
    --blue: #176b87; --blue-dark: #0d4f69; --blue-soft: #eaf5f7;
    --red: #ba3b47; --red-dark: #932833; --red-soft: #fff0f1;
    min-height: 78vh; color: var(--ink);
    background: radial-gradient(circle at 10% 0%, rgba(23,107,135,.08), transparent 28rem), linear-gradient(180deg,#f7fafb 0,#fff 24rem);
}
.database-header[b-a07quco0k0] { margin-bottom: 2rem; }
.back-link[b-a07quco0k0] { display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.5rem;color:var(--muted);font-size:.86rem;font-weight:700;text-decoration:none; }
.back-link:hover[b-a07quco0k0] { color:var(--blue); }
.header-copy[b-a07quco0k0] { display:flex;align-items:center;gap:1.25rem; }
.database-mark[b-a07quco0k0] { display:grid;flex:0 0 4.5rem;width:4.5rem;height:4.5rem;place-items:center;border:1px solid rgba(23,107,135,.22);border-radius:1.25rem;color:var(--blue);background:rgba(255,255,255,.8);box-shadow:0 12px 35px rgba(29,58,78,.08);font-size:2rem; }
.eyebrow[b-a07quco0k0],.operation-number[b-a07quco0k0],.status-item small[b-a07quco0k0] { color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.13em; }
.header-copy h1[b-a07quco0k0] { margin:.15rem 0 .3rem;font-size:clamp(2rem,4vw,3.25rem);font-weight:750;letter-spacing:-.045em; }
.header-copy p[b-a07quco0k0] { max-width:48rem;margin:0;color:var(--muted);font-size:1.02rem; }
.result-banner[b-a07quco0k0] { display:flex;align-items:center;gap:.9rem;margin:0 0 1.5rem;padding:1rem 1.15rem;border:1px solid;border-radius:.85rem; }
.result-banner>i[b-a07quco0k0] { font-size:1.55rem; }.result-banner strong[b-a07quco0k0],.result-banner span[b-a07quco0k0] { display:block; }.result-banner span[b-a07quco0k0] { margin-top:.15rem;font-size:.88rem; }
.result-success[b-a07quco0k0] { border-color:#a9d5c1;color:#176141;background:#eef9f3; }.result-error[b-a07quco0k0] { border-color:#edbdc2;color:#8f2933;background:#fff3f4; }
.status-strip[b-a07quco0k0] { display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.88);box-shadow:0 14px 40px rgba(29,58,78,.055); }
.status-item[b-a07quco0k0] { display:flex;align-items:center;gap:.75rem;min-height:5.5rem;padding:1rem 1.25rem;border-right:1px solid var(--line); }.status-item:last-child[b-a07quco0k0] { border-right:0; }
.status-item>i[b-a07quco0k0] { color:#8090a1;font-size:1.45rem; }.status-item small[b-a07quco0k0],.status-item strong[b-a07quco0k0] { display:block; }.status-item small[b-a07quco0k0] { margin-bottom:.2rem;color:#8794a3;font-size:.61rem; }.status-item strong[b-a07quco0k0] { font-size:.9rem; }
.status-dot[b-a07quco0k0] { width:.68rem;height:.68rem;border-radius:50%;background:#1c9c67;box-shadow:0 0 0 .3rem #e1f4eb; }
.operation-card[b-a07quco0k0] { position:relative;height:100%;overflow:hidden;padding:2rem;border:1px solid var(--line);border-radius:1.15rem;background:rgba(255,255,255,.94);box-shadow:0 18px 50px rgba(29,58,78,.07); }
.card-topline[b-a07quco0k0] { position:absolute;top:0;right:0;left:0;height:3px;background:var(--blue); }.restore-card .card-topline[b-a07quco0k0] { background:var(--red); }
.operation-icon[b-a07quco0k0] { display:grid;width:3.2rem;height:3.2rem;margin-bottom:1.35rem;place-items:center;border-radius:.85rem;font-size:1.55rem; }.backup-icon[b-a07quco0k0] { color:var(--blue);background:var(--blue-soft); }.restore-icon[b-a07quco0k0] { color:var(--red);background:var(--red-soft); }.restore-card .operation-number[b-a07quco0k0] { color:var(--red); }
.operation-card h2[b-a07quco0k0] { margin:.3rem 0 .55rem;font-size:1.42rem;font-weight:750;letter-spacing:-.025em; }.lead-copy[b-a07quco0k0],.action-note[b-a07quco0k0] { color:var(--muted); }.lead-copy[b-a07quco0k0] { min-height:3rem;margin-bottom:1.35rem;line-height:1.55; }
.feature-list[b-a07quco0k0] { display:grid;gap:.65rem;min-height:7.5rem;margin:0 0 1.5rem;padding:1.15rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;color:#4c5c70;font-size:.88rem; }.feature-list i[b-a07quco0k0] { margin-right:.4rem;color:var(--blue); }
.primary-action[b-a07quco0k0],.danger-action[b-a07quco0k0] { display:flex;width:100%;min-height:3.1rem;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:.7rem;color:#fff;font-size:.9rem;font-weight:750;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.primary-action[b-a07quco0k0] { background:var(--blue);box-shadow:0 9px 22px rgba(23,107,135,.2); }.primary-action:hover[b-a07quco0k0] { color:#fff;background:var(--blue-dark);transform:translateY(-1px); }
.danger-action[b-a07quco0k0] { margin-top:1rem;background:var(--red);box-shadow:0 9px 22px rgba(186,59,71,.18); }.danger-action:hover[b-a07quco0k0] { background:var(--red-dark);transform:translateY(-1px); }
.action-note[b-a07quco0k0] { margin:.75rem 0 0;text-align:center;font-size:.74rem; }
.upload-zone[b-a07quco0k0] { display:flex;min-height:8.3rem;align-items:center;justify-content:center;flex-direction:column;padding:1rem;border:1px dashed #d09aa0;border-radius:.8rem;cursor:pointer;background:#fffafb;text-align:center;transition:border-color .16s ease,background .16s ease; }.upload-zone:hover[b-a07quco0k0] { border-color:var(--red);background:var(--red-soft); }
.upload-zone>i[b-a07quco0k0] { margin-bottom:.35rem;color:var(--red);font-size:1.7rem; }.upload-zone strong[b-a07quco0k0],.upload-zone span[b-a07quco0k0] { display:block; }.upload-zone span[b-a07quco0k0] { margin:.15rem 0 .65rem;color:var(--muted);font-size:.72rem; }.upload-zone input[b-a07quco0k0] { width:min(100%,20rem);color:var(--muted);font-size:.75rem; }
.restore-confirmation[b-a07quco0k0] { display:flex;align-items:flex-start;gap:.7rem;margin-top:1rem;color:var(--muted);cursor:pointer;font-size:.76rem;line-height:1.45; }.restore-confirmation input[b-a07quco0k0] { width:1rem;height:1rem;margin-top:.12rem;accent-color:var(--red); }.restore-confirmation strong[b-a07quco0k0] { display:block;color:var(--ink);font-size:.82rem; }
.safety-note[b-a07quco0k0] { display:flex;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.2rem 1.35rem;border:1px solid #cfe1e6;border-radius:.9rem;background:#f2f8f9; }.safety-note>i[b-a07quco0k0] { color:var(--blue);font-size:1.65rem; }.safety-note strong[b-a07quco0k0] { font-size:.87rem; }.safety-note p[b-a07quco0k0] { margin:.2rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.55; }
@media(max-width:991.98px){.status-strip[b-a07quco0k0]{grid-template-columns:repeat(2,1fr)}.status-item:nth-child(2)[b-a07quco0k0]{border-right:0}.status-item:nth-child(-n+2)[b-a07quco0k0]{border-bottom:1px solid var(--line)}}
@media(max-width:575.98px){.header-copy[b-a07quco0k0]{align-items:flex-start}.database-mark[b-a07quco0k0]{flex-basis:3.25rem;width:3.25rem;height:3.25rem;border-radius:.9rem;font-size:1.4rem}.status-strip[b-a07quco0k0]{grid-template-columns:1fr}.status-item[b-a07quco0k0]{border-right:0;border-bottom:1px solid var(--line)}.status-item:last-child[b-a07quco0k0]{border-bottom:0}.operation-card[b-a07quco0k0]{padding:1.4rem}}
:global([data-bs-theme="dark"]) .database-admin-page[b-a07quco0k0] { --ink:#edf3f7;--muted:#9caaba;--line:#344454;--blue-soft:#163b49;--red-soft:#4a252b;background:radial-gradient(circle at 10% 0%,rgba(42,142,172,.13),transparent 28rem),linear-gradient(180deg,#17212b 0,#1c2732 24rem); }
:global([data-bs-theme="dark"]) .database-mark[b-a07quco0k0],:global([data-bs-theme="dark"]) .status-strip[b-a07quco0k0],:global([data-bs-theme="dark"]) .operation-card[b-a07quco0k0] { background:rgba(29,40,52,.94); }
:global([data-bs-theme="dark"]) .upload-zone[b-a07quco0k0] { background:#2a2228; }:global([data-bs-theme="dark"]) .feature-list[b-a07quco0k0],:global([data-bs-theme="dark"]) .restore-confirmation strong[b-a07quco0k0] { color:#c5d0da; }:global([data-bs-theme="dark"]) .safety-note[b-a07quco0k0] { border-color:#34515a;background:#1d3239; }
.restore-progress[b-a07quco0k0] { margin-top:1rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.7); }
.restore-progress-head[b-a07quco0k0] { display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.55rem;font-size:.82rem; }.restore-progress-head span[b-a07quco0k0] { color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem; }
.restore-progress-track[b-a07quco0k0] { height:.55rem;overflow:hidden;border-radius:999px;background:var(--line); }
.restore-progress-bar[b-a07quco0k0] { width:0;height:100%;border-radius:inherit;background:var(--red);transition:width .2s linear; }
.restore-progress.is-working .restore-progress-bar[b-a07quco0k0] { width:35% !important;animation:restore-sweep-b-a07quco0k0 1.3s ease-in-out infinite; }
@keyframes restore-sweep-b-a07quco0k0 { 0% { transform:translateX(-100%); } 100% { transform:translateX(290%); } }
.restore-progress-note[b-a07quco0k0] { margin:.55rem 0 0;color:var(--muted);font-size:.72rem; }
.restore-client-error[b-a07quco0k0] { margin:1rem 0 0; }
.danger-action:disabled[b-a07quco0k0] { opacity:.6;cursor:progress;transform:none; }
:global([data-bs-theme="dark"]) .restore-progress[b-a07quco0k0] { background:rgba(23,33,43,.7); }
@media (prefers-reduced-motion: reduce) { .restore-progress.is-working .restore-progress-bar[b-a07quco0k0] { width:100% !important;animation:none;opacity:.55; } }
.restore-client-error[hidden][b-a07quco0k0] { display:none; }
/* /Components/Pages/Product.razor.rz.scp.css */
/* 3D product stage.

   The renderer draws into an alpha buffer and paints no background of its own,
   so what is below is what the visitor sees behind the module, and it follows
   the theme instead of a colour baked into the JavaScript. */

.product3d-stage[b-sua3j6milk] {
    position: relative;
    aspect-ratio: 4 / 3;
    margin-bottom: 1rem;
    border: 1px solid var(--hz-border);
    border-radius: 12px;
    overflow: hidden;
    background:
        radial-gradient(120% 85% at 50% 12%, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0) 62%),
        var(--hz-surface-sunken);
    cursor: grab;
}

.product3d-stage:active[b-sua3j6milk] {
    cursor: grabbing;
}

.product3d-poster[b-sua3j6milk],
.product3d-canvas[b-sua3j6milk] {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.product3d-poster[b-sua3j6milk] {
    object-fit: contain;
    transition: opacity .55s ease;
}

/* The canvas only fades up once its first frame is on it, so the card never
   flashes an empty box between the still and the live scene. */
.product3d-canvas[b-sua3j6milk] {
    opacity: 0;
    transition: opacity .7s ease;
}

.product3d-stage.is-live .product3d-canvas[b-sua3j6milk] {
    opacity: 1;
}

.product3d-stage.is-live .product3d-poster[b-sua3j6milk] {
    opacity: 0;
}

.product3d-hint[b-sua3j6milk] {
    position: absolute;
    left: 50%;
    bottom: 0.85rem;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--hz-border);
    border-radius: 999px;
    background: var(--hz-surface-raised);
    color: var(--bs-body-color);
    font-size: 0.78rem;
    letter-spacing: var(--hz-tracking-head);
    white-space: nowrap;
    opacity: 0;
    transition: opacity .5s ease;
    pointer-events: none;
}

.product3d-stage.is-live .product3d-hint[b-sua3j6milk] {
    opacity: 0.85;
}

.product3d-hint.is-gone[b-sua3j6milk] {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {

    .product3d-poster[b-sua3j6milk],
    .product3d-canvas[b-sua3j6milk],
    .product3d-hint[b-sua3j6milk] {
        transition: none;
    }
}

/* The stage keeps 4/3 at every width on purpose. A square one looks like it
   would give a phone more room, but the camera fits the module to whichever
   edge is tighter, so on a square stage it simply stands further back and
   renders the same size with more empty space above and below. */

/* The head-on view is the model itself, squared to the printed face, so there
   is nothing to lay over the canvas. What is left here is the toggle, and the
   fact that the drag hint has no business showing while dragging is off. */
.product3d-flat-check[b-sua3j6milk] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.product3d-flat-check:checked ~ .product3d-hint[b-sua3j6milk] {
    opacity: 0;
}

/* Hidden until the scene is live, because without the viewer module there is
   nothing for it to switch. */
.product3d-flat-toggle[b-sua3j6milk] {
    display: none;
    position: absolute;
    right: 0.85rem;
    top: 0.85rem;                /* the hint owns the bottom, and on a phone the
                                    two would sit on top of each other there */
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--hz-border);
    border-radius: 999px;
    background: var(--hz-surface-raised);
    color: var(--bs-body-color);
    font-size: 0.78rem;
    letter-spacing: var(--hz-tracking-head);
    white-space: nowrap;
    cursor: pointer;
    opacity: 0.85;
    transition: opacity .2s ease, border-color .2s ease;
}

.product3d-stage.is-live .product3d-flat-toggle[b-sua3j6milk] {
    display: inline-flex;
}

.product3d-flat-toggle:hover[b-sua3j6milk] {
    opacity: 1;
    border-color: var(--hz-accent);
}

/* Keyboard focus lands on the checkbox, which is invisible, so the label has to
   wear the focus ring on its behalf. */
.product3d-flat-check:focus-visible ~ .product3d-flat-toggle[b-sua3j6milk] {
    opacity: 1;
    outline: 2px solid var(--hz-accent);
    outline-offset: 2px;
}

.product3d-flat-off[b-sua3j6milk] {
    display: none;
}

.product3d-flat-check:checked ~ .product3d-flat-toggle .product3d-flat-on[b-sua3j6milk] {
    display: none;
}

.product3d-flat-check:checked ~ .product3d-flat-toggle .product3d-flat-off[b-sua3j6milk] {
    display: inline;
}

@media (prefers-reduced-motion: reduce) {
    .product3d-flat-toggle[b-sua3j6milk] {
        transition: none;
    }
}

/* Zoom. Bottom left, because the hint sits centred along the bottom and the
   head-on toggle owns the top right; on a phone stage the three would otherwise
   land on each other. Hidden until the scene is live, like the toggle. */
.product3d-zoom[b-sua3j6milk] {
    position: absolute;
    left: 0.85rem;
    bottom: 0.85rem;
    display: none;
    gap: 0.35rem;
}

.product3d-stage.is-live .product3d-zoom[b-sua3j6milk] {
    display: flex;
}

.product3d-zoom button[b-sua3j6milk] {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--hz-border);
    border-radius: 999px;
    background: var(--hz-surface-raised);
    color: var(--bs-body-color);
    font-size: 0.95rem;
    line-height: 1;
    cursor: pointer;
    opacity: 0.85;
    transition: opacity .2s ease, border-color .2s ease;
}

.product3d-zoom button:hover[b-sua3j6milk] {
    opacity: 1;
    border-color: var(--hz-accent);
}

.product3d-zoom button:focus-visible[b-sua3j6milk] {
    opacity: 1;
    outline: 2px solid var(--hz-accent);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .product3d-zoom button[b-sua3j6milk] {
        transition: none;
    }
}
/* /Components/Pages/Products.razor.rz.scp.css */

.btn-outline-primary[b-wo73cv4bfo] {
    color: #0074cf !important;
    font-weight:500;
}
.btn-outline-primary:hover[b-wo73cv4bfo] {
    color: #ffffff !important;
}
[data-bs-theme="dark"] .btn-outline-primary[b-wo73cv4bfo] {
    color: white !important;
}
    [data-bs-theme="dark"] .btn-outline-primary:hover[b-wo73cv4bfo] {
        color: white !important;
    }


[data-bs-theme="light"] .card-img-top[b-wo73cv4bfo] {
   
}

 
/* /Components/Pages/Vision.razor.rz.scp.css */
 

:root[b-4e43jne7hk] {
    --color-bg: #050505;
    --color-text: #ffffff;
    --color-primary: #ff3366;
    --color-secondary: #3366ff;
    --color-tertiary: #33ddff;
    --color-accent: #ffcc00;
    --transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


.vjumbotron[b-4e43jne7hk] {
    background-color: var(--color-bg);
    color: var(--color-text);
    overflow-x: hidden;
    line-height: 1.5;
}

.background[b-4e43jne7hk] {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 260px;
    z-index: -1;
    overflow: hidden;
}

.gradient-blob[b-4e43jne7hk] {
    position: absolute;
    border-radius: 100%;
    filter: blur(40px);
    opacity: 0.3;
    animation: float-b-4e43jne7hk 20s infinite alternate ease-in-out;
}

    .gradient-blob:nth-child(1)[b-4e43jne7hk] {
        background: linear-gradient( to right, var(--color-primary), var(--color-secondary) );
        width: 150vw;
        height: 150vw;
        top: -100%;
        left: -25%;
        animation-delay: 0s;
    }

    .gradient-blob:nth-child(2)[b-4e43jne7hk] {
        background: linear-gradient( to right, var(--color-tertiary), var(--color-secondary) );
        width: 150vw;
        height: 150vw;
        bottom: -100%;
        right: -25%;
        animation-delay: -5s;
    }

    .gradient-blob:nth-child(3)[b-4e43jne7hk] {
        background: linear-gradient( to right, var(--color-accent), var(--color-primary) );
        width: 100vw;
        height: 100vw;
        top: 30%;
        left: -50%;
        animation-delay: -10s;
    }

@keyframes float-b-4e43jne7hk {
    0% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(2%, 2%) scale(1.02);
    }

    100% {
        transform: translate(-2%, -2%) scale(0.98);
    }
}



.vjumbotron h1[b-4e43jne7hk] {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.1;
    background: linear-gradient( to right, var(--color-text), rgba(255, 255, 255, 0.7) );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    
    position: relative;
}

.vjumbotron .subtitle[b-4e43jne7hk] {
    font-size: 1rem; 
    opacity: 0.8;
}


.gradient-blob[b-4e43jne7hk] {
    filter: blur(50px);
    opacity: 0.35;
}


@media (min-width: 768px) {
    .cards-container[b-4e43jne7hk] {
        grid-template-columns: repeat(2, 1fr);
    }

    .gradient-blob[b-4e43jne7hk] {
        filter: blur(60px);
        opacity: 0.4;
    }

        .gradient-blob:nth-child(1)[b-4e43jne7hk] {
            width: 120vw;
            height: 120vw;
            top: -70%;
            left: -20%;
        }

        .gradient-blob:nth-child(2)[b-4e43jne7hk] {
            width: 120vw;
            height: 120vw;
            bottom: -70%;
            right: -20%;
        }

        .gradient-blob:nth-child(3)[b-4e43jne7hk] {
            width: 80vw;
            height: 80vw;
            top: 30%;
            left: -30%;
        }
}

@media (min-width: 1024px) {


    .vjumbotron h1[b-4e43jne7hk] {
        font-size: 4.5rem; 
    }

    .vjumbotron .subtitle[b-4e43jne7hk] {
        font-size: 1.25rem; 
    }


    .gradient-blob[b-4e43jne7hk] {
        filter: blur(80px);
        opacity: 0.5;
    }

        .gradient-blob:nth-child(1)[b-4e43jne7hk] {
            width: 60vw;
            height: 60vw;
            top: -20%;
            left: -10%;
        }

        .gradient-blob:nth-child(2)[b-4e43jne7hk] {
            width: 60vw;
            height: 60vw;
            bottom: -30%;
            right: -10%;
        }

        .gradient-blob:nth-child(3)[b-4e43jne7hk] {
            width: 40vw;
            height: 40vw;
            top: 40%;
            left: 30%;
        }
}


.pagemain p[b-4e43jne7hk]  {
 
   font-size:1.25em !important;
}
/* /Components/Parts/AssistantAnswerCard.razor.rz.scp.css */
/* One answer.
   These rules live here rather than with the panel because Blazor scopes a
   component's CSS to that component's own markup: written next to the panel they
   would carry the panel's scope attribute and never match anything here. */

.assistant-answer[b-askabqtw54] {
    display: grid;
    gap: 0.9rem;
    padding: 0.25rem 0 0.5rem;
}

.assistant-answer-summary[b-askabqtw54] {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.55;
}

.assistant-gateways[b-askabqtw54] {
    display: grid;
    gap: 0.5rem;
}

.assistant-gateway[b-askabqtw54] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    gap: 0.35rem 0.75rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--hz-border);
    border-radius: 14px;
    background: var(--hz-surface-sunken);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.assistant-gateway:hover[b-askabqtw54],
.assistant-gateway:focus-visible[b-askabqtw54] {
    border-color: var(--hz-accent);
    transform: translateY(-2px);
}

/* Named but not linked, because the product has no page. Nothing lifts or
   highlights, so it does not invite a click that goes nowhere. */
.assistant-gateway.is-plain[b-askabqtw54] {
    grid-template-columns: auto 1fr;
}

.assistant-gateway.is-plain:hover[b-askabqtw54] {
    border-color: var(--hz-border);
    transform: none;
}

.assistant-gateway-model[b-askabqtw54] {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.assistant-gateway-name[b-askabqtw54] {
    opacity: 0.85;
}

/* The reason spans the full width underneath, so a long explanation does not
   squeeze the model code into a column two characters wide. */
.assistant-gateway-why[b-askabqtw54] {
    grid-column: 1 / -1;
    font-size: 0.92rem;
    opacity: 0.75;
}

.assistant-gateway-go[b-askabqtw54] {
    opacity: 0.5;
}

.assistant-block[b-askabqtw54] {
    display: grid;
    gap: 0.4rem;
}

.assistant-rows[b-askabqtw54] {
    margin: 0;
    padding-left: 1.1rem;
}

.assistant-rows code[b-askabqtw54] {
    font-size: 0.92rem;
    word-break: break-word;
}

/* Conditions are the part an installer must not skim past: an adapter they did
   not order is a second site visit. Given a left rule and a warm tint so it
   reads as a caution rather than as more body copy. */
.assistant-conditions[b-askabqtw54] {
    padding: 0.7rem 0.9rem;
    border-left: 3px solid var(--hz-accent);
    border-radius: 0 12px 12px 0;
    background: var(--hz-accent-soft);
}

.assistant-conditions ul[b-askabqtw54] {
    margin: 0;
    padding-left: 1.1rem;
}

.assistant-conditions .public-mini-label[b-askabqtw54] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--hz-accent-text);
}

.assistant-next[b-askabqtw54] {
    margin: 0;
}

.assistant-notfound[b-askabqtw54] {
    padding: 0.9rem 1rem;
    border: 1px dashed var(--hz-border-strong);
    border-radius: 14px;
}

.assistant-notfound p[b-askabqtw54] {
    margin-bottom: 0.7rem;
}

.assistant-sources[b-askabqtw54] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.85rem;
    opacity: 0.65;
}
/* /Components/Parts/CompatibilityAssistant.razor.rz.scp.css */
/* The assistant, as a help widget pinned to the bottom-right corner.
   Styled from the public tokens so it follows the light and dark themes without
   a second set of rules. Amber stays on the launcher and the send button;
   everything else is surface, border and text, as elsewhere on the public site. */

.assistant[b-i1hpbrejdu] {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
}

/* --- launcher ------------------------------------------------------------ */

.assistant-launcher[b-i1hpbrejdu] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    border: 0;
    border-radius: 50px;
    background: var(--hz-accent);
    color: var(--hz-accent-on);
    font-weight: 600;
    box-shadow: var(--hz-shadow-2);
    transition: transform 0.2s ease, background 0.2s ease;
}

.assistant-launcher:hover[b-i1hpbrejdu],
.assistant-launcher:focus-visible[b-i1hpbrejdu] {
    background: var(--hz-accent-hover);
    transform: translateY(-2px);
}

.assistant-launcher i[b-i1hpbrejdu] {
    font-size: 1.25rem;
}

/* Collapses to a circle once the panel is open: the label is redundant when the
   thing it names is on screen, and the round button reads as "close". */
.assistant.is-open .assistant-launcher-label[b-i1hpbrejdu] {
    display: none;
}

.assistant.is-open .assistant-launcher[b-i1hpbrejdu] {
    padding: 0.75rem;
}

/* --- popup --------------------------------------------------------------- */

.assistant-popup[b-i1hpbrejdu] {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(26rem, calc(100vw - 3rem));
    max-height: min(34rem, calc(100vh - 8rem));
    border: 1px solid var(--hz-border);
    border-radius: 20px;
    background: var(--hz-surface-raised);
    box-shadow: var(--hz-shadow-2);
    overflow: hidden;
}

/* Grips on the two edges that face into the page.
   Wide enough to actually hit: at the 7px they started as, they were a target
   nobody could find on a panel with a 20px corner radius. */
.assistant-resize[b-i1hpbrejdu] {
    position: absolute;
    z-index: 3;
    touch-action: none;
}

.assistant-resize-t[b-i1hpbrejdu] {
    top: 0;
    left: 0;
    right: 0;
    height: 12px;
    cursor: ns-resize;
}

.assistant-resize-l[b-i1hpbrejdu] {
    top: 0;
    bottom: 0;
    left: 0;
    width: 12px;
    cursor: ew-resize;
}

.assistant-resize-tl[b-i1hpbrejdu] {
    top: 0;
    left: 0;
    width: 26px;
    height: 26px;
    z-index: 4;
    cursor: nwse-resize;
    border-top-left-radius: 20px;
}

.assistant-resize:hover[b-i1hpbrejdu] {
    background: var(--hz-accent-soft);
}

/* A visible corner grip. Without it the panel gives no sign that it resizes at
   all, which is the same as not resizing. */
.assistant-resize-tl[b-i1hpbrejdu]::after {
    content: '';
    position: absolute;
    top: 7px;
    left: 7px;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    border-top-left-radius: 4px;
    opacity: 0.3;
    transition: opacity 0.2s ease;
}

.assistant-resize-tl:hover[b-i1hpbrejdu]::after {
    opacity: 0.9;
    color: var(--hz-accent);
}

.assistant-head[b-i1hpbrejdu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--hz-border);
    background: var(--hz-surface-sunken);
}

.assistant-head-title[b-i1hpbrejdu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
}

.assistant-close[b-i1hpbrejdu] {
    margin-left: auto;
    padding: 0.25rem;
    border: 0;
    border-radius: 8px;
    background: none;
    color: inherit;
    opacity: 0.6;
    line-height: 1;
}

.assistant-close:hover[b-i1hpbrejdu],
.assistant-close:focus-visible[b-i1hpbrejdu] {
    opacity: 1;
    background: var(--hz-accent-soft);
}

/* The conversation scrolls; the input does not. A long answer must never push
   the box the visitor is typing into off the bottom of the popup. */
.assistant-body[b-i1hpbrejdu] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: grid;
    align-content: start;
    gap: 0.85rem;
    padding: 1rem;
}

.assistant-lead[b-i1hpbrejdu] {
    margin: 0;
    font-size: 0.92rem;
    opacity: 0.75;
}

.assistant-question[b-i1hpbrejdu] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.6rem 0.8rem;
    border-radius: 12px;
    background: var(--hz-surface-sunken);
    font-weight: 600;
    font-size: 0.95rem;
}

.assistant-foot[b-i1hpbrejdu] {
    flex: 0 0 auto;
    display: grid;
    gap: 0.6rem;
    padding: 0.85rem 1rem 1rem;
    border-top: 1px solid var(--hz-border);
}

/* --- input --------------------------------------------------------------- */

.assistant-form[b-i1hpbrejdu] {
    display: grid;
    gap: 0.5rem;
}

/* Height is set here rather than left to the rows attribute: the site's global
   form styling stretches a two-row textarea to roughly five. */
.assistant-input[b-i1hpbrejdu] {
    width: 100%;
    height: 4.5rem;
    min-height: 4.5rem;
    max-height: 9rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--hz-border);
    border-radius: 12px;
    background: var(--hz-surface-sunken);
    color: inherit;
    font-size: 0.95rem;
    resize: vertical;
}

/* A hint, not a label. At full strength it reads as text already entered. */
.assistant-input[b-i1hpbrejdu]::placeholder {
    color: inherit;
    opacity: 0.38;
}

.assistant-input:focus[b-i1hpbrejdu] {
    outline: none;
    border-color: var(--hz-accent);
    box-shadow: 0 0 0 3px var(--hz-accent-soft);
}

.assistant-turnstile:empty[b-i1hpbrejdu] {
    display: none;
}

.assistant-form-foot[b-i1hpbrejdu] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.assistant-count[b-i1hpbrejdu] {
    font-size: 0.78rem;
    opacity: 0.55;
    font-variant-numeric: tabular-nums;
}

.assistant-send[b-i1hpbrejdu] {
    margin-left: auto;
    border-radius: 50px;
    padding: 0.45rem 1.1rem;
    font-weight: 600;
    white-space: nowrap;
}

/* --- notices ------------------------------------------------------------- */

.assistant-notice[b-i1hpbrejdu] {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--hz-border);
    border-radius: 12px;
    background: var(--hz-surface-sunken);
    font-size: 0.9rem;
}

.assistant-notice.is-error[b-i1hpbrejdu] {
    border-color: var(--hz-accent);
}

.assistant-disclaimer[b-i1hpbrejdu] {
    display: flex;
    gap: 0.4rem;
    align-items: flex-start;
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    opacity: 0.6;
}

/* --- small screens ------------------------------------------------------- */

@media (max-width: 576px) {
    .assistant[b-i1hpbrejdu] {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        align-items: stretch;
    }

    .assistant-popup[b-i1hpbrejdu] {
        width: 100%;
        max-height: calc(100vh - 7rem);
    }

    .assistant-launcher[b-i1hpbrejdu] {
        align-self: flex-end;
    }
}
