@import '_content/Perial.Blazor/Perial.Blazor.4yczf8b0d1.bundle.scp.css';

/* /Components/Overlays/Modals/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-a283kyl2m1],
.components-reconnect-repeated-attempt-visible[b-a283kyl2m1],
.components-reconnect-failed-visible[b-a283kyl2m1],
.components-pause-visible[b-a283kyl2m1],
.components-resume-failed-visible[b-a283kyl2m1],
.components-rejoining-animation[b-a283kyl2m1] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-retrying[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-failed[b-a283kyl2m1],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-a283kyl2m1] {
    display: block;
}

#components-reconnect-modal[b-a283kyl2m1] {
    background-color: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    border-radius: calc(var(--mud-default-borderradius) * 2);
    box-shadow: var(--mud-elevation-8);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-a283kyl2m1 0.5s both;

    &[open] {
        animation: components-reconnect-modal-slideUp-b-a283kyl2m1 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s,
                   components-reconnect-modal-fadeInOpacity-b-a283kyl2m1 0.5s ease-in-out 0.3s;
        animation-fill-mode: both;
    }
}

#components-reconnect-modal[b-a283kyl2m1]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-a283kyl2m1 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-a283kyl2m1 {
    0%   { transform: translateY(30px) scale(0.95); }
    100% { transform: translateY(0); }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-a283kyl2m1 {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-a283kyl2m1 {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

.components-reconnect-container[b-a283kyl2m1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-a283kyl2m1] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-a283kyl2m1] {
    border: 0;
    background-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    padding: 6px 24px;
    border-radius: var(--mud-default-borderradius);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s;
}

#components-reconnect-modal button:hover[b-a283kyl2m1] {
    background-color: var(--mud-palette-primary-darken);
}

#components-reconnect-modal button:active[b-a283kyl2m1] {
    background-color: var(--mud-palette-primary-lighten);
}

.components-rejoining-animation[b-a283kyl2m1] {
    position: relative;
    width: 80px;
    height: 80px;
}

.components-rejoining-animation div[b-a283kyl2m1] {
    position: absolute;
    border: 3px solid var(--mud-palette-primary);
    opacity: 1;
    border-radius: 50%;
    animation: components-rejoining-animation-b-a283kyl2m1 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.components-rejoining-animation div:nth-child(2)[b-a283kyl2m1] {
    animation-delay: -0.5s;
}

@keyframes components-rejoining-animation-b-a283kyl2m1 {
    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: 0;    left: 0;    width: 80px; height: 80px; opacity: 0; }
}
/* /Components/Pages/Analytics/FunctionProviderMatrixPage.razor.rz.scp.css */
.matrix-scroll[b-pgacjkcx0y] {
    overflow-x: auto;
    border: 1px solid var(--mud-palette-table-lines);
    border-radius: var(--mud-default-borderradius);
}

.matrix-scroll[b-pgacjkcx0y]  table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Première colonne (prestataire) figée pendant le défilement horizontal. */
.matrix-corner[b-pgacjkcx0y],
.matrix-prov[b-pgacjkcx0y] {
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: var(--mud-palette-surface);
    min-width: 220px;
    max-width: 260px;
}

.matrix-corner[b-pgacjkcx0y] {
    z-index: 3;
    vertical-align: bottom;
}

.matrix-fn[b-pgacjkcx0y] {
    min-width: 180px;
    vertical-align: bottom;
}

.matrix-fn-name[b-pgacjkcx0y] {
    font-size: 0.8rem;
    margin-top: 4px;
    line-height: 1.15;
}

.matrix-counts[b-pgacjkcx0y] {
    font-size: 0.72rem;
    margin-top: 4px;
}

.matrix-cell[b-pgacjkcx0y] {
    vertical-align: top;
    min-width: 120px;
}
/* /Components/Pages/Storage/StorageExplorerPage.razor.rz.scp.css */
.dora-tree-row[b-ld7qchwork] {
    display: flex;
    align-items: center;
    gap: 2px;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-right: 8px;
    border-radius: 4px;
    user-select: none;
    min-height: 36px;
    cursor: pointer;
}

.dora-tree-row:hover[b-ld7qchwork] {
    background-color: var(--mud-palette-action-default-hover);
}

/* Fichier non prévisualisable (ZIP, binaire…) : la ligne ne réagit pas au clic. */
.dora-tree-row--static[b-ld7qchwork] {
    cursor: default;
}

.dora-tree-name[b-ld7qchwork] {
    font-size: 0.82rem;
    white-space: nowrap;
}

.dora-tree-desc[b-ld7qchwork] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: 0.78rem;
}

.dora-col-meta[b-ld7qchwork] {
    white-space: nowrap;
    font-size: 0.75rem;
    text-align: right;
    width: 116px;
}

.dora-col-size[b-ld7qchwork] {
    white-space: nowrap;
    font-size: 0.75rem;
    text-align: right;
    width: 72px;
    padding-left: 8px;
}

.dora-col-actions[b-ld7qchwork] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding-left: 12px;
}

.dora-tree-leaf-spacer[b-ld7qchwork] {
    display: inline-block;
    width: 24px;
    flex: 0 0 24px;
}
/* /Components/Pages/Storage/StorageFilePreviewDialog.razor.rz.scp.css */
.dora-preview-header[b-u44e80qs0c] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.dora-preview-text[b-u44e80qs0c] {
    margin: 0;
    overflow: auto;
    padding: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    background-color: var(--mud-palette-background-gray);
    font-family: 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.78rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Shared/MarkdownRenderer.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════
   MarkdownRenderer — GitHub-inspired markdown styling.
   Uses MudBlazor CSS variables for light/dark theme support
   and --code-* tokens (defined in app.css) for syntax
   highlighting via highlight.js.
   All child selectors use ::deep because MarkupString
   content does not receive the Blazor CSS-isolation attribute.
   ═══════════════════════════════════════════════════════ */

.markdown-body[b-u91l0ydchg] {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: var(--mud-palette-text-primary);
    overflow-wrap: break-word;
    word-wrap: break-word;
    max-width: 960px;
}

/* ── Headings ─────────────────────────────────────────── */

[b-u91l0ydchg] h1,
[b-u91l0ydchg] h2,
[b-u91l0ydchg] h3,
[b-u91l0ydchg] h4,
[b-u91l0ydchg] h5,
[b-u91l0ydchg] h6 {
    margin-top: 1.8em;
    margin-bottom: 0.6em;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mud-palette-text-primary);
    letter-spacing: -0.01em;
}

[b-u91l0ydchg] h1 {
    font-size: 2em;
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--mud-palette-primary);
}

[b-u91l0ydchg] h2 {
    font-size: 1.5em;
    padding-bottom: 0.25em;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

[b-u91l0ydchg] h3 {
    font-size: 1.25em;
}

[b-u91l0ydchg] h4 {
    font-size: 1em;
}

[b-u91l0ydchg] h5 {
    font-size: 0.875em;
}

[b-u91l0ydchg] h6 {
    font-size: 0.85em;
    color: var(--mud-palette-text-secondary);
}

[b-u91l0ydchg] h1:first-child,
[b-u91l0ydchg] h2:first-child,
[b-u91l0ydchg] h3:first-child {
    margin-top: 0;
}

/* ── Paragraphs and block spacing ─────────────────────── */

[b-u91l0ydchg] p {
    margin-top: 0;
    margin-bottom: 16px;
}

[b-u91l0ydchg] p:last-child {
    margin-bottom: 0;
}

/* ── Links ────────────────────────────────────────────── */

[b-u91l0ydchg] a {
    color: var(--mud-palette-primary);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.15s ease;
}

[b-u91l0ydchg] a:hover {
    border-bottom-color: var(--mud-palette-primary);
}

/* ── Emphasis and strikethrough ────────────────────────── */

[b-u91l0ydchg] strong {
    font-weight: 600;
}

[b-u91l0ydchg] del {
    text-decoration: line-through;
    opacity: 0.65;
}

/* ── Inline code ──────────────────────────────────────── */

[b-u91l0ydchg] code {
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 85%;
    padding: 0.2em 0.4em;
    margin: 0;
    border-radius: 6px;
    background-color: var(--mud-palette-background-gray);
    border: 1px solid var(--mud-palette-lines-default);
}

/* ── Code blocks (fenced / indented) ──────────────────── */

[b-u91l0ydchg] pre {
    position: relative;
    overflow-x: auto;
    margin-top: 0;
    margin-bottom: 16px;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-background-gray);
    line-height: 1.5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

[b-u91l0ydchg] pre code {
    display: block;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    font-size: 85%;
    white-space: pre;
    overflow-wrap: normal;
    word-break: normal;
    word-wrap: normal;
}

[b-u91l0ydchg] pre::-webkit-scrollbar {
    height: 6px;
}

[b-u91l0ydchg] pre::-webkit-scrollbar-track {
    background: transparent;
}

[b-u91l0ydchg] pre::-webkit-scrollbar-thumb {
    background: var(--mud-palette-lines-default);
    border-radius: 3px;
}

/* ── Syntax highlighting tokens (highlight.js) ────────── */

[b-u91l0ydchg] .hljs {
    background: transparent !important;
    padding: 0 !important;
}

[b-u91l0ydchg] .hljs-keyword,
[b-u91l0ydchg] .hljs-selector-tag,
[b-u91l0ydchg] .hljs-deletion {
    color: var(--code-keyword);
}

[b-u91l0ydchg] .hljs-string,
[b-u91l0ydchg] .hljs-doctag,
[b-u91l0ydchg] .hljs-regexp {
    color: var(--code-string);
}

[b-u91l0ydchg] .hljs-comment,
[b-u91l0ydchg] .hljs-quote {
    color: var(--code-comment);
    font-style: italic;
}

[b-u91l0ydchg] .hljs-number,
[b-u91l0ydchg] .hljs-literal {
    color: var(--code-number);
}

[b-u91l0ydchg] .hljs-title,
[b-u91l0ydchg] .hljs-section {
    color: var(--code-function);
}

[b-u91l0ydchg] .hljs-built_in {
    color: var(--code-builtin);
}

[b-u91l0ydchg] .hljs-type,
[b-u91l0ydchg] .hljs-class {
    color: var(--code-type);
}

[b-u91l0ydchg] .hljs-attr,
[b-u91l0ydchg] .hljs-attribute {
    color: var(--code-attr);
}

[b-u91l0ydchg] .hljs-variable,
[b-u91l0ydchg] .hljs-template-variable,
[b-u91l0ydchg] .hljs-property {
    color: var(--code-variable);
}

[b-u91l0ydchg] .hljs-meta,
[b-u91l0ydchg] .hljs-meta-keyword {
    color: var(--code-meta);
}

[b-u91l0ydchg] .hljs-tag {
    color: var(--code-tag);
}

[b-u91l0ydchg] .hljs-selector-id,
[b-u91l0ydchg] .hljs-selector-class,
[b-u91l0ydchg] .hljs-selector-attr,
[b-u91l0ydchg] .hljs-selector-pseudo {
    color: var(--code-selector);
}

[b-u91l0ydchg] .hljs-name {
    color: var(--code-keyword);
}

[b-u91l0ydchg] .hljs-symbol,
[b-u91l0ydchg] .hljs-bullet,
[b-u91l0ydchg] .hljs-link {
    color: var(--code-literal);
}

[b-u91l0ydchg] .hljs-addition {
    color: var(--code-addition);
    background-color: var(--code-addition-bg);
}

[b-u91l0ydchg] .hljs-deletion {
    color: var(--code-deletion);
    background-color: var(--code-deletion-bg);
}

[b-u91l0ydchg] .hljs-emphasis {
    font-style: italic;
}

[b-u91l0ydchg] .hljs-strong {
    font-weight: 700;
}

/* ── Blockquotes ──────────────────────────────────────── */

[b-u91l0ydchg] blockquote {
    margin: 0 0 16px 0;
    padding: 12px 16px;
    border-left: 4px solid var(--mud-palette-primary);
    background-color: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent);
    border-radius: 0 6px 6px 0;
    color: var(--mud-palette-text-secondary);
}

[b-u91l0ydchg] blockquote > :first-child {
    margin-top: 0;
}

[b-u91l0ydchg] blockquote > :last-child {
    margin-bottom: 0;
}

/* ── Lists ────────────────────────────────────────────── */

[b-u91l0ydchg] ul,
[b-u91l0ydchg] ol {
    margin-top: 0;
    margin-bottom: 16px;
    padding-left: 2em;
}

[b-u91l0ydchg] ul {
    list-style-type: disc;
}

[b-u91l0ydchg] ol {
    list-style-type: decimal;
}

[b-u91l0ydchg] li {
    margin-top: 0.35em;
}

[b-u91l0ydchg] li > p {
    margin-top: 16px;
    margin-bottom: 16px;
}

[b-u91l0ydchg] li > p:only-child {
    margin-top: 0;
    margin-bottom: 0;
}

[b-u91l0ydchg] ul ul,
[b-u91l0ydchg] ul ol,
[b-u91l0ydchg] ol ol,
[b-u91l0ydchg] ol ul {
    margin-top: 0;
    margin-bottom: 0;
}

[b-u91l0ydchg] ul ul {
    list-style-type: circle;
}

[b-u91l0ydchg] ul ul ul {
    list-style-type: square;
}

/* ── Task lists ───────────────────────────────────────── */

[b-u91l0ydchg] ul.contains-task-list {
    list-style: none;
    padding-left: 0;
}

[b-u91l0ydchg] ul.contains-task-list ul.contains-task-list {
    padding-left: 2em;
}

[b-u91l0ydchg] li.task-list-item {
    position: relative;
    list-style-type: none;
}

[b-u91l0ydchg] li.task-list-item input[type="checkbox"] {
    margin: 0 0.5em 0 0;
    vertical-align: middle;
    pointer-events: none;
    accent-color: var(--mud-palette-primary);
    width: 15px;
    height: 15px;
}

/* ── Tables ───────────────────────────────────────────── */

[b-u91l0ydchg] table {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 16px;
    border-collapse: collapse;
    border-spacing: 0;
    overflow: auto;
    border-radius: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

[b-u91l0ydchg] table th {
    font-weight: 600;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 16px;
    border: 1px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-background-gray);
    color: var(--mud-palette-text-secondary);
}

[b-u91l0ydchg] table td {
    padding: 8px 16px;
    border: 1px solid var(--mud-palette-lines-default);
}

[b-u91l0ydchg] table tr {
    border-top: 1px solid var(--mud-palette-lines-default);
    transition: background-color 0.1s ease;
}

[b-u91l0ydchg] table tr:nth-child(2n) {
    background-color: color-mix(in srgb, var(--mud-palette-background-gray) 50%, transparent);
}

[b-u91l0ydchg] table tr:hover {
    background-color: var(--mud-palette-background-gray);
}

[b-u91l0ydchg] table img {
    background-color: transparent;
}

/* ── Horizontal rule ──────────────────────────────────── */

[b-u91l0ydchg] hr {
    height: 0;
    margin: 32px 0;
    padding: 0;
    border: 0;
    border-top: 2px solid var(--mud-palette-lines-default);
    overflow: hidden;
}

/* ── Images ───────────────────────────────────────────── */

[b-u91l0ydchg] img {
    max-width: 100%;
    height: auto;
    border-style: none;
    box-sizing: content-box;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* ── Definition lists (Markdig advanced extension) ────── */

[b-u91l0ydchg] dl {
    margin-bottom: 16px;
    padding: 0;
}

[b-u91l0ydchg] dl dt {
    font-weight: 600;
    font-size: 1em;
    font-style: italic;
    margin-top: 16px;
    padding: 0;
}

[b-u91l0ydchg] dl dd {
    margin-left: 0;
    margin-bottom: 16px;
    padding: 0 16px;
}

/* ── Footnotes ────────────────────────────────────────── */

[b-u91l0ydchg] .footnotes {
    font-size: 0.875em;
    color: var(--mud-palette-text-secondary);
    border-top: 1px solid var(--mud-palette-lines-default);
    margin-top: 32px;
    padding-top: 16px;
}

[b-u91l0ydchg] .footnote-ref {
    font-size: 0.75em;
    vertical-align: super;
    line-height: 0;
    color: var(--mud-palette-primary);
    font-weight: 600;
}

/* ── Subscript / Superscript ──────────────────────────── */

[b-u91l0ydchg] sub,
[b-u91l0ydchg] sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

[b-u91l0ydchg] sub {
    bottom: -0.25em;
}

[b-u91l0ydchg] sup {
    top: -0.5em;
}
/* /Components/Shared/PdfPreviewPanel.razor.rz.scp.css */
.pdf-preview-panel[b-cuhsaprbvh] {
    position: fixed;
    top: 0;
    right: 0;
    width: 55%;
    max-width: 900px;
    min-width: 400px;
    height: 100vh;
    z-index: 1300;
    background: var(--mud-palette-surface);
    box-shadow: var(--mud-elevation-16);
    display: flex;
    flex-direction: column;
    animation: slide-in-right-b-cuhsaprbvh 0.25s ease-out;
}

.pdf-preview-header[b-cuhsaprbvh] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.pdf-preview-content[b-cuhsaprbvh] {
    flex: 1;
    position: relative;
}

.pdf-preview-loader[b-cuhsaprbvh] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mud-palette-surface);
    z-index: 1;
}

.pdf-preview-iframe[b-cuhsaprbvh] {
    width: 100%;
    height: 100%;
    border: none;
}

@keyframes slide-in-right-b-cuhsaprbvh {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}
