@import '_content/EulogikaWebNavShared/EulogikaWebNavShared.vzxriqqosx.bundle.scp.css';
@import '_content/Nexus.Web.Snapshots.Shared/Nexus.Web.Snapshots.Shared.zledvc44ra.bundle.scp.css';

/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* La shell occupa tutto lo schermo sotto la barra (56px); il banner dev, quando c'è, è alto 22px.
   Ogni pagina riempie il main e decide da sé se scorrere (admin) o tenere tutto nella viewport
   (viewer/designer, dove il controllo DevExpress si dimensiona sul contenitore). */
.nexus-shell-fullscreen[b-89u5wr480k] {
    height: calc(100vh - 56px);
    min-height: 0;
    overflow: hidden;
}

.nexus-shell-fullscreen.has-dev-banner[b-89u5wr480k] {
    height: calc(100vh - 56px - 22px);
}

.nexus-main-full[b-89u5wr480k] {
    width: auto;
    max-width: none;
    margin-inline: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.snapshot-nav[b-o34h56acnr] {
    width: 17rem;
    flex: 0 0 17rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #172033;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    transition: width 0.2s ease, flex-basis 0.2s ease;
}

.snapshot-nav-collapsed[b-o34h56acnr] {
    width: 3.25rem;
    flex-basis: 3.25rem;
}

.snapshot-nav-toggle[b-o34h56acnr] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 1rem;
    color: #fff;
    background: transparent;
    border: 0;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    flex: 0 0 auto;
}

.snapshot-nav-toggle:hover[b-o34h56acnr] {
    background: rgba(255, 255, 255, 0.08);
}

.snapshot-nav-content[b-o34h56acnr] {
    padding: 0 0.75rem 1rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.snapshot-nav-content h2[b-o34h56acnr] {
    margin: 0.9rem 0 0.5rem;
    color: #9db8d4;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.snapshot-nav-select[b-o34h56acnr] {
    width: 100%;
    box-sizing: border-box;
    background: #1e293b;
    color: #f8fafc;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.375rem;
    padding: 0.45rem 0.6rem;
    font: inherit;
    font-size: 0.9rem;
}

.snapshot-nav-meta[b-o34h56acnr] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0.45rem 0 0;
    color: #9db8d4;
    font-size: 0.78rem;
}

.snapshot-nav-role[b-o34h56acnr] {
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.snapshot-nav-role.is-designer[b-o34h56acnr] {
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}

.snapshot-nav-role.is-viewer[b-o34h56acnr] {
    background: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
}

.snapshot-nav-content ul[b-o34h56acnr] {
    display: grid;
    gap: 0.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.snapshot-nav-content a[b-o34h56acnr] {
    display: block;
    padding: 0.55rem 0.75rem;
    overflow: hidden;
    color: #dce9f7;
    border-radius: 0.375rem;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem;
}

.snapshot-nav-content a:hover[b-o34h56acnr] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.snapshot-nav-content a.is-active[b-o34h56acnr] {
    background: rgba(59, 130, 246, 0.22);
    color: #fff;
    font-weight: 600;
}

/* Layout sotto il dataset attivo */
.snapshot-nav-layouts[b-o34h56acnr] {
    margin: 0.2rem 0 0.4rem 0.6rem !important;
    padding-left: 0.5rem !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.snapshot-nav-layout[b-o34h56acnr] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.snapshot-nav-layout a[b-o34h56acnr] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.84rem;
    color: #b9cde3;
}

.snapshot-nav-layout.is-open a[b-o34h56acnr] {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.snapshot-nav-layout-title[b-o34h56acnr] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snapshot-nav-layout-dot[b-o34h56acnr] {
    flex: 0 0 auto;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
}

.snapshot-nav-layout-dot.is-published[b-o34h56acnr] {
    background: #10b981;
    box-shadow: 0 0 6px rgba(16, 185, 129, 0.7);
}

.snapshot-nav-publish[b-o34h56acnr] {
    flex: 0 0 auto;
    font: inherit;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: transparent;
    color: #b9cde3;
}

.snapshot-nav-publish:hover[b-o34h56acnr] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.snapshot-nav-publish.is-published[b-o34h56acnr] {
    border-color: rgba(16, 185, 129, 0.5);
    background: rgba(16, 185, 129, 0.16);
    color: #6ee7b7;
}

.snapshot-nav-empty[b-o34h56acnr],
.snapshot-nav-error[b-o34h56acnr] {
    margin: 0;
    padding: 0.2rem 0.25rem;
    color: #9db8d4;
    font-size: 0.8rem;
    line-height: 1.4;
}

.snapshot-nav-error[b-o34h56acnr] {
    color: #ffb4b4;
}

.snapshot-nav-collapsed .snapshot-nav-toggle[b-o34h56acnr] {
    justify-content: center;
}

.snapshot-nav-collapsed .snapshot-nav-toggle-text[b-o34h56acnr],
.snapshot-nav-collapsed .snapshot-nav-content[b-o34h56acnr] {
    display: none;
}
/* /Components/Workspace/WorkspaceDashboard.razor.rz.scp.css */
.ws-page[b-yw9t3y1b6v] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.ws-toolbar[b-yw9t3y1b6v] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.45rem 1rem;
    background: #172033;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex: 0 0 auto;
}

.ws-title[b-yw9t3y1b6v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.9rem;
    color: #dce9f7;
}

.ws-mode[b-yw9t3y1b6v] {
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ws-mode.is-designer[b-yw9t3y1b6v] {
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}

.ws-mode.is-viewer[b-yw9t3y1b6v] {
    background: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
}

.ws-crumb[b-yw9t3y1b6v] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ws-crumb-meta[b-yw9t3y1b6v] {
    color: #6f8ba6;
    font-size: 0.76rem;
    white-space: nowrap;
}

.ws-sep[b-yw9t3y1b6v] {
    color: #6f8ba6;
}

.ws-pub[b-yw9t3y1b6v] {
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    color: #b9cde3;
}

.ws-pub.is-published[b-yw9t3y1b6v] {
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}

.ws-actions[b-yw9t3y1b6v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

.ws-btn[b-yw9t3y1b6v] {
    font: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.4rem 0.8rem;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: transparent;
    color: #f8fafc;
}

.ws-btn:hover[b-yw9t3y1b6v] {
    background: rgba(255, 255, 255, 0.08);
}

.ws-btn.is-on[b-yw9t3y1b6v] {
    background: rgba(59, 130, 246, 0.22);
    border-color: rgba(59, 130, 246, 0.5);
}

.ws-btn-publish[b-yw9t3y1b6v] {
    background: linear-gradient(135deg, #10b981, #059669);
    border-color: transparent;
}

.ws-btn-publish:hover[b-yw9t3y1b6v] {
    opacity: 0.9;
}

.ws-btn-unpublish[b-yw9t3y1b6v] {
    border-color: rgba(251, 191, 36, 0.5);
    color: #fbbf24;
}

.ws-body[b-yw9t3y1b6v] {
    flex: 1;
    min-height: 0;
    display: flex;
}

/* Il Dashboard si dimensiona sul contenitore, che deve avere un'altezza vera. */
.ws-dashboard[b-yw9t3y1b6v] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    height: 100%;
    background: #1e293b;
}

/* DxDashboard rende il parametro Height come attributo HTML (<div height="100%">), che il browser
   ignora: senza questa regola il div del controllo resta alto quanto il contenuto e gli item
   collassano a pochi pixel. ::deep perché quel div è generato dal componente. */
.ws-dashboard[b-yw9t3y1b6v]  > div {
    height: 100%;
}

.ws-history[b-yw9t3y1b6v] {
    width: 23rem;
    flex: 0 0 23rem;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    background: #172033;
}

.ws-empty[b-yw9t3y1b6v] {
    margin: auto;
    max-width: 32rem;
    text-align: center;
    color: #9db8d4;
    padding: 2rem;
}

.ws-empty h3[b-yw9t3y1b6v] {
    color: #f8fafc;
    margin: 0 0 0.5rem;
}

.ws-empty p[b-yw9t3y1b6v] {
    margin: 0;
    line-height: 1.5;
}

.ws-empty code[b-yw9t3y1b6v] {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 4px;
    padding: 0.05rem 0.3rem;
}
