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

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


#components-reconnect-modal[b-pl22d1n0b8] {
    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-pl22d1n0b8 0.5s both;
    &[open]

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

}

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

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

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-pl22d1n0b8 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

#components-reconnect-modal button[b-pl22d1n0b8] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-pl22d1n0b8] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-pl22d1n0b8] {
        background-color: #6b9ed2;
    }

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

    .components-rejoining-animation div[b-pl22d1n0b8] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-pl22d1n0b8 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

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

@keyframes components-rejoining-animation-b-pl22d1n0b8 {
    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/CatalogImport.razor.rz.scp.css */
.catalog-import-intro[b-5u3v5hci5k],
.catalog-import-toolbar[b-5u3v5hci5k],
.catalog-import-toolbar-actions[b-5u3v5hci5k],
.catalog-import-actions[b-5u3v5hci5k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.catalog-import-drop[b-5u3v5hci5k] {
    position: relative;
    min-height: 180px;
    border: 2px dashed #94a3b8;
    border-radius: 12px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    color: #475569;
}

.catalog-import-drop:hover[b-5u3v5hci5k] {
    border-color: #16a34a;
    background: #f0fdf4;
}

.catalog-import-drop input[b-5u3v5hci5k] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.catalog-import-drop > :not(input)[b-5u3v5hci5k] {
    pointer-events: none;
}

.catalog-import-actions[b-5u3v5hci5k] {
    justify-content: flex-end;
    margin-top: 20px;
}

.catalog-import-summary[b-5u3v5hci5k] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.catalog-import-toolbar[b-5u3v5hci5k] {
    margin-bottom: 16px;
}

.catalog-import-toolbar-actions[b-5u3v5hci5k] {
    justify-content: flex-end;
}

.catalog-import-status[b-5u3v5hci5k] {
    display: inline-flex;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.catalog-import-success[b-5u3v5hci5k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

@media (max-width: 900px) {
    .catalog-import-summary[b-5u3v5hci5k] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-import-intro[b-5u3v5hci5k],
    .catalog-import-toolbar[b-5u3v5hci5k],
    .catalog-import-toolbar-actions[b-5u3v5hci5k],
    .catalog-import-actions[b-5u3v5hci5k] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Components/Pages/InventoryAdjustmentNew.razor.rz.scp.css */
.adjustment-page[b-xqzdl8s0zt]{max-width:1480px;margin:0 auto;padding:1.25rem 1.5rem 3rem;color:#0b1830}.adjustment-loading[b-xqzdl8s0zt]{min-height:55vh;display:grid;place-content:center;justify-items:center;gap:1rem}.adjustment-breadcrumb[b-xqzdl8s0zt]{display:flex;gap:.5rem;align-items:center;color:#71809a;font-size:.78rem;margin-bottom:.75rem}.adjustment-breadcrumb button[b-xqzdl8s0zt]{border:0;background:transparent;color:#1767c4;cursor:pointer}.adjustment-header[b-xqzdl8s0zt]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.adjustment-header h1[b-xqzdl8s0zt]{font-size:1.65rem;margin:0}.adjustment-header p[b-xqzdl8s0zt]{margin:.3rem 0 0;color:#65758d}.adjustment-actions[b-xqzdl8s0zt]{display:flex;flex-wrap:wrap;gap:.65rem}.adjustment-layout[b-xqzdl8s0zt]{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem}.adjustment-layout main[b-xqzdl8s0zt]{display:grid;gap:1rem}.adjustment-card[b-xqzdl8s0zt],.adjustment-summary[b-xqzdl8s0zt]{background:#fff;border:1px solid #dce3ec;border-radius:8px;box-shadow:0 1px 3px #0b18300d;padding:1rem}.adjustment-card-title[b-xqzdl8s0zt]{display:flex;align-items:center;gap:.55rem;border-bottom:1px solid #e4e9f0;padding-bottom:.7rem;margin-bottom:1rem}.adjustment-card-title h2[b-xqzdl8s0zt],.adjustment-summary h2[b-xqzdl8s0zt]{font-size:.92rem;margin:0}.adjustment-card-title .mud-icon-root[b-xqzdl8s0zt]{color:#087f5b}.adjustment-fixed-grid[b-xqzdl8s0zt]{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:.75rem}.adjustment-fixed-grid>div[b-xqzdl8s0zt],.adjustment-stock-value[b-xqzdl8s0zt]{background:#f5f7fa;border:1px solid #e1e7ef;border-radius:6px;padding:.8rem;display:flex;flex-direction:column;gap:.2rem}.adjustment-fixed-grid span[b-xqzdl8s0zt],.adjustment-stock-value span[b-xqzdl8s0zt],.adjustment-summary span[b-xqzdl8s0zt],.adjustment-difference span[b-xqzdl8s0zt]{font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;color:#73829a;font-weight:700}.adjustment-fixed-grid small[b-xqzdl8s0zt],.adjustment-stock-value small[b-xqzdl8s0zt]{color:#78869a}.adjustment-lock-note[b-xqzdl8s0zt]{display:flex;align-items:center;gap:.35rem;color:#66768f;font-size:.75rem;margin:1rem 0 0}.adjustment-count-grid[b-xqzdl8s0zt]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.adjustment-stock-value strong[b-xqzdl8s0zt]{font-size:1.35rem}.adjustment-difference[b-xqzdl8s0zt]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem;border-radius:6px;padding:.75rem;background:#f5f7fa}.adjustment-difference>div[b-xqzdl8s0zt]{display:flex;flex-direction:column;gap:.2rem}.adjustment-difference.positive[b-xqzdl8s0zt]{background:#ebfbf2;border:1px solid #b6edcd}.adjustment-difference.negative[b-xqzdl8s0zt]{background:#fff1f2;border:1px solid #ffc9ce}.positive strong[b-xqzdl8s0zt],.positive[b-xqzdl8s0zt]{color:#087f5b}.negative strong[b-xqzdl8s0zt],.negative[b-xqzdl8s0zt]{color:#c92a2a}.adjustment-form-grid[b-xqzdl8s0zt]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.adjustment-observation[b-xqzdl8s0zt]{grid-column:1/-1}.adjustment-evidence[b-xqzdl8s0zt]{border:1px dashed #b7c2d1;border-radius:6px;display:grid;justify-items:center;gap:.25rem;padding:1.4rem;color:#6c7b91;text-align:center}.adjustment-evidence .mud-icon-root[b-xqzdl8s0zt]{color:#8796aa}.adjustment-evidence span[b-xqzdl8s0zt]{font-size:.75rem}.adjustment-summary[b-xqzdl8s0zt]{align-self:start;position:sticky;top:1rem;background:#0b1930;color:#fff}.adjustment-summary h2[b-xqzdl8s0zt]{padding-bottom:.8rem;border-bottom:1px solid #344057;margin-bottom:.4rem}.adjustment-summary>div[b-xqzdl8s0zt]{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #2a374e}.adjustment-summary span[b-xqzdl8s0zt]{color:#9aa8bd}.adjustment-summary strong[b-xqzdl8s0zt]{text-align:right}.adjustment-summary p[b-xqzdl8s0zt]{font-size:.72rem;color:#aeb9c9;line-height:1.5;margin:1rem 0 0}.adjustment-dialog-backdrop[b-xqzdl8s0zt]{position:fixed;inset:0;background:#09132699;z-index:1400;display:grid;place-items:center;padding:1rem}.adjustment-dialog[b-xqzdl8s0zt]{background:#fff;border-radius:10px;width:min(470px,100%);padding:1.5rem;box-shadow:0 20px 60px #0004}.adjustment-dialog-icon[b-xqzdl8s0zt]{width:42px;height:42px;border-radius:50%;background:#dcfce7;color:#079455;display:grid;place-items:center}.adjustment-dialog h2[b-xqzdl8s0zt]{font-size:1.15rem;margin:.8rem 0 .3rem}.adjustment-dialog>p[b-xqzdl8s0zt]{color:#66758c;font-size:.83rem}.adjustment-dialog dl[b-xqzdl8s0zt]{background:#f5f7fa;padding:.5rem .9rem;border-radius:6px}.adjustment-dialog dl div[b-xqzdl8s0zt]{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid #e1e6ee}.adjustment-dialog dl div:last-child[b-xqzdl8s0zt]{border:0}.adjustment-dialog dt[b-xqzdl8s0zt]{color:#69788e}.adjustment-dialog dd[b-xqzdl8s0zt]{font-weight:700;margin:0}.adjustment-dialog-actions[b-xqzdl8s0zt]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media(max-width:1050px){.adjustment-layout[b-xqzdl8s0zt]{grid-template-columns:1fr}.adjustment-summary[b-xqzdl8s0zt]{position:static}.adjustment-header[b-xqzdl8s0zt]{flex-direction:column}.adjustment-fixed-grid[b-xqzdl8s0zt]{grid-template-columns:1fr 1fr}}@media(max-width:700px){.adjustment-page[b-xqzdl8s0zt]{padding:1rem}.adjustment-fixed-grid[b-xqzdl8s0zt],.adjustment-count-grid[b-xqzdl8s0zt],.adjustment-difference[b-xqzdl8s0zt],.adjustment-form-grid[b-xqzdl8s0zt]{grid-template-columns:1fr}.adjustment-observation[b-xqzdl8s0zt]{grid-column:auto}.adjustment-actions[b-xqzdl8s0zt]{width:100%}.adjustment-actions .mud-button-root[b-xqzdl8s0zt]{flex:1 1 100%}}
/* /Components/Pages/MovementDetail.razor.rz.scp.css */
.movement-detail[b-q2blqz9sh2] {
    max-width: 1440px;
    margin: 0 auto;
    color: var(--text-primary);
}

.movement-detail-loading[b-q2blqz9sh2] {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--text-secondary);
}

.movement-detail-breadcrumb[b-q2blqz9sh2] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--text-tertiary);
    font-size: 11px;
}

.movement-detail-breadcrumb button[b-q2blqz9sh2] {
    border: 0;
    background: transparent;
    padding: 0;
    color: #0759c7;
    cursor: pointer;
}

.movement-detail-header[b-q2blqz9sh2] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 14px;
}

.movement-detail-heading[b-q2blqz9sh2] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.movement-detail-title-row[b-q2blqz9sh2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.movement-detail-title-row h1[b-q2blqz9sh2] {
    margin: 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    font-size: 24px;
    font-weight: 850;
}

.movement-detail-heading p[b-q2blqz9sh2] {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
}

.movement-detail-actions[b-q2blqz9sh2] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.movement-detail-status[b-q2blqz9sh2],
.movement-detail-type[b-q2blqz9sh2] {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.movement-detail-status.draft[b-q2blqz9sh2] { background: #e2e8f0; color: #475569; }
.movement-detail-status.pending[b-q2blqz9sh2] { background: #fef3c7; color: #a16207; }
.movement-detail-status.confirmed[b-q2blqz9sh2] { background: #dcfce7; color: #15803d; }
.movement-detail-status.rejected[b-q2blqz9sh2],
.movement-detail-status.voided[b-q2blqz9sh2] { background: #fee2e2; color: #b91c1c; }
.movement-detail-type.entry[b-q2blqz9sh2] { background: #dcfce7; color: #15803d; }
.movement-detail-type.exit[b-q2blqz9sh2] { background: #fee2e2; color: #b91c1c; }
.movement-detail-type.adjustment[b-q2blqz9sh2] { background: #dbeafe; color: #1d4ed8; }
.movement-detail-type.waste[b-q2blqz9sh2] { background: #fef3c7; color: #a16207; }

.movement-detail-alert[b-q2blqz9sh2] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 14px;
    border: 1px solid;
    border-radius: 7px;
}

.movement-detail-alert strong[b-q2blqz9sh2],
.movement-detail-alert span[b-q2blqz9sh2] {
    display: block;
    font-size: 12px;
}

.movement-detail-alert span[b-q2blqz9sh2] { margin-top: 3px; color: var(--text-secondary); }
.movement-detail-alert--draft[b-q2blqz9sh2] { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.movement-detail-alert--pending[b-q2blqz9sh2] { background: #fff7ed; border-color: #fed7aa; color: #b45309; }
.movement-detail-alert--confirmed[b-q2blqz9sh2] { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.movement-detail-alert--rejected[b-q2blqz9sh2],
.movement-detail-alert--voided[b-q2blqz9sh2] { background: #fff1f2; border-color: #fecdd3; color: #be123c; }

.movement-detail-kpis[b-q2blqz9sh2] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.movement-detail-kpis article[b-q2blqz9sh2] {
    min-height: 98px;
    padding: 14px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.movement-detail-kpis span[b-q2blqz9sh2],
.movement-detail-kpis small[b-q2blqz9sh2] {
    display: block;
    color: var(--text-tertiary);
    font-size: 10px;
}

.movement-detail-kpis span[b-q2blqz9sh2] { font-weight: 800; text-transform: uppercase; letter-spacing: .4px; }
.movement-detail-kpis strong[b-q2blqz9sh2] { display: block; margin: 12px 0 3px; font-size: 21px; }
.movement-detail-kpis strong.positive[b-q2blqz9sh2] { color: #15803d; }
.movement-detail-kpis strong.negative[b-q2blqz9sh2] { color: #b91c1c; }

.movement-detail-panel[b-q2blqz9sh2],
.movement-detail-rejected[b-q2blqz9sh2],
.movement-detail-validations[b-q2blqz9sh2] {
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--surface-card);
}

.movement-detail-panel h2[b-q2blqz9sh2],
.movement-detail-rejected h2[b-q2blqz9sh2],
.movement-detail-validations h2[b-q2blqz9sh2] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 11px 14px;
    border-bottom: 1px solid var(--border-subtle);
    background: var(--surface-inset);
    font-size: 13px;
    font-weight: 800;
}

.movement-detail-info[b-q2blqz9sh2] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 22px;
    padding: 16px;
}

.movement-detail-info span[b-q2blqz9sh2],
.movement-detail-notes span[b-q2blqz9sh2] {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.movement-detail-info strong[b-q2blqz9sh2] { font-size: 12px; }
.movement-document-link[b-q2blqz9sh2] {
    border: 0;
    background: transparent;
    padding: 0;
    color: #0759c7;
    font-size: 12px;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.movement-detail-table-wrap[b-q2blqz9sh2] { overflow-x: auto; }
.movement-detail-table[b-q2blqz9sh2] { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 11px; }
.movement-detail-table th[b-q2blqz9sh2] { padding: 9px 12px; background: var(--surface-inset); color: #64748b; font-size: 9px; font-weight: 800; text-align: left; text-transform: uppercase; }
.movement-detail-table td[b-q2blqz9sh2] { padding: 11px 12px; border-top: 1px solid var(--border-subtle); }
.movement-detail-table .num[b-q2blqz9sh2] { text-align: right; white-space: nowrap; }
.movement-detail-table .impact.positive[b-q2blqz9sh2] { color: #15803d; font-weight: 800; }
.movement-detail-table .impact.negative[b-q2blqz9sh2] { color: #b91c1c; font-weight: 800; }
.movement-detail-table tfoot td[b-q2blqz9sh2] { background: var(--surface-inset); font-weight: 800; text-align: right; }
.movement-legacy-code[b-q2blqz9sh2] {
    display: inline-flex;
    margin-left: 5px;
    padding: 2px 5px;
    border-radius: 4px;
    background: #fef3c7;
    color: #92400e;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.movement-detail-bottom[b-q2blqz9sh2] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 14px;
}

.movement-detail-notes[b-q2blqz9sh2] { padding: 15px; }
.movement-detail-notes p[b-q2blqz9sh2] { margin: 0 0 14px; padding: 10px; border-radius: 5px; background: var(--surface-inset); font-size: 12px; }
.movement-detail-files[b-q2blqz9sh2] { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 15px 15px; }
.movement-detail-files span[b-q2blqz9sh2] { display: flex; gap: 4px; padding: 6px 9px; border: 1px solid var(--border-subtle); border-radius: 5px; font-size: 10px; }
.movement-detail-empty[b-q2blqz9sh2] { padding: 0 15px 15px; color: var(--text-tertiary); font-size: 11px; }

.movement-detail-timeline[b-q2blqz9sh2] { list-style: none; margin: 0; padding: 14px 16px; }
.movement-detail-timeline li[b-q2blqz9sh2] { position: relative; display: flex; gap: 10px; padding: 0 0 16px; }
.movement-detail-timeline li > span[b-q2blqz9sh2] { width: 10px; height: 10px; margin-top: 3px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 4px #d1fae5; }
.movement-detail-timeline li:not(:last-child)[b-q2blqz9sh2]::before { content: ""; position: absolute; left: 4px; top: 13px; bottom: 2px; width: 1px; background: #cbd5e1; }
.movement-detail-timeline strong[b-q2blqz9sh2],
.movement-detail-timeline small[b-q2blqz9sh2] { display: block; font-size: 11px; }
.movement-detail-timeline small[b-q2blqz9sh2] { margin-top: 3px; color: var(--text-tertiary); }

.movement-detail-rejected[b-q2blqz9sh2] { border-color: #fecaca; }
.movement-detail-rejected h2[b-q2blqz9sh2] { background: #fff1f2; color: #b91c1c; }
.movement-detail-rejected blockquote[b-q2blqz9sh2] { margin: 16px; padding: 12px; border-left: 3px solid #ef4444; background: #fff7f7; font-size: 12px; }
.movement-detail-rejected p[b-q2blqz9sh2] { margin: 0 16px 16px; color: var(--text-secondary); font-size: 11px; }

.movement-detail-reversal[b-q2blqz9sh2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 1px;
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid #fecaca;
    border-radius: var(--radius-md);
    background: #fecaca;
}

.movement-detail-reversal div[b-q2blqz9sh2],
.movement-detail-reversal button[b-q2blqz9sh2] { padding: 12px; border: 0; background: #fff7f7; }
.movement-detail-reversal span[b-q2blqz9sh2],
.movement-detail-reversal strong[b-q2blqz9sh2] { display: block; font-size: 10px; }
.movement-detail-reversal strong[b-q2blqz9sh2] { margin-top: 5px; font-size: 15px; }
.movement-detail-reversal button[b-q2blqz9sh2] { color: #0759c7; font-size: 11px; font-weight: 700; cursor: pointer; }

.movement-detail-validations > div[b-q2blqz9sh2] { display: flex; gap: 10px; padding: 14px; color: #a16207; }
.movement-detail-validations > div span[b-q2blqz9sh2] { color: var(--text-secondary); font-size: 11px; }
.movement-detail-validations > div strong[b-q2blqz9sh2] { display: block; color: #a16207; }

@media (max-width: 1000px) {
    .movement-detail-header[b-q2blqz9sh2] { flex-direction: column; }
    .movement-detail-actions[b-q2blqz9sh2] { justify-content: flex-start; }
    .movement-detail-kpis[b-q2blqz9sh2] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .movement-detail-info[b-q2blqz9sh2] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .movement-detail-kpis[b-q2blqz9sh2],
    .movement-detail-info[b-q2blqz9sh2],
    .movement-detail-bottom[b-q2blqz9sh2],
    .movement-detail-reversal[b-q2blqz9sh2] { grid-template-columns: 1fr; }
    .movement-detail-actions[b-q2blqz9sh2] { width: 100%; }
    .movement-detail-actions[b-q2blqz9sh2]  .mud-button-root { flex: 1 1 100%; }
}
/* /Components/Pages/PurchaseOrderForm.razor.rz.scp.css */
/* ── Página completa Nueva/Editar Orden de Compra (PUR-REV-001 Fase 3) ────────
   Nota: no se usan var(--bg-card)/var(--border-color) — no están definidas en el
   design system de la app (ver PurchaseOrders.razor.css, ajuste de tarjetas KPI).
   Se sigue el mismo patrón de InventoryAdjustmentNew.razor.css: colores fijos. ── */

.poform-page[b-araczyruog] {
    max-width: 1480px;
    margin: 0 auto;
    /* El layout compartido (.fq-content en app.css) ya aplica padding-top: 24px — este valor se
       sumaba encima y dejaba mucho aire antes del breadcrumb. Se reduce a lo mínimo necesario. */
    padding: 0 1.5rem 3rem;
    color: #0b1830;
}

.poform-loading[b-araczyruog] {
    min-height: 55vh;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 1rem;
}

.poform-breadcrumb[b-araczyruog] {
    margin-bottom: .5rem;
}

.poform-breadcrumb button[b-araczyruog] {
    border: 0;
    background: transparent;
    color: #1767c4;
    cursor: pointer;
    font-size: .8rem;
    padding: 0;
}

.poform-header[b-araczyruog] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.poform-header h1[b-araczyruog] {
    font-size: 1.55rem;
    margin: 0;
}

.poform-subtitle[b-araczyruog] {
    margin: .35rem 0 0;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #6b7a92;
}

.poform-subtitle strong[b-araczyruog] {
    color: #0b1830;
    letter-spacing: normal;
}

.poform-subtitle-sep[b-araczyruog] {
    margin: 0 6px;
    color: #b6c0d1;
}

.poform-actions[b-araczyruog] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    flex-shrink: 0;
}

/* ── Tarjetas ──────────────────────────────────────────────────────────────── */

.poform-top-grid[b-araczyruog] {
    display: grid;
    /* minmax(0, Nfr) en vez de Nfr "suelto": un track en fr sin minmax tiene mínimo implícito
       "auto" (el ancho de su contenido) — si una tarjeta tiene contenido más ancho de lo que le
       toca (p.ej. un valor largo en un campo de solo lectura), empuja toda la fila y desborda la
       página hacia la derecha. Mismo ajuste aplicado abajo en .poform-field-row y en la grilla de
       líneas — es la causa real del "espacio en blanco a la derecha".*/
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.poform-card[b-araczyruog] {
    background: #fff;
    border: 1px solid #dce3ec;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(11, 24, 48, .05);
    padding: 1rem;
    min-width: 0;
}

.poform-card-title[b-araczyruog] {
    display: flex;
    align-items: center;
    gap: .5rem;
    border-bottom: 1px solid #e4e9f0;
    padding-bottom: .65rem;
    margin-bottom: .85rem;
}

.poform-card-title .mud-icon-root[b-araczyruog] {
    color: #1767c4;
}

.poform-card-title h2[b-araczyruog] {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    margin: 0;
    color: #47566e;
}

/* MudButton/MudTooltip son componentes hijos — igual que con el input de descuento por volumen,
   sin ::deep estas reglas no llegan al botón real (quedaba con el margin-left:auto ignorado,
   pegado al h2, y demasiado sutil como para leerse como una acción). Ahora es un botón compacto
   con borde e ícono, no un enlace de texto suelto. */
.poform-card-title[b-araczyruog]  .poform-change-btn-wrap {
    margin-left: auto;
}

.poform-card-title[b-araczyruog]  .poform-change-btn {
    min-height: 30px;
    height: 30px;
    padding: 0 10px !important;
    border: 1px solid var(--border-default) !important;
    border-radius: 8px !important;
    background: var(--surface-base) !important;
    box-shadow: none !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: normal;
    white-space: nowrap;
}

.poform-card-title[b-araczyruog]  .poform-change-btn .mud-icon-root {
    font-size: 15px;
}

.poform-card-title[b-araczyruog]  .poform-change-btn:hover {
    background: #eef4fc !important;
}

.poform-supplier-name[b-araczyruog] {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: .6rem;
}

.poform-supplier-grid[b-araczyruog] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.poform-supplier-grid > div[b-araczyruog] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.poform-supplier-grid span[b-araczyruog] {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #8494ab;
    font-weight: 700;
}

.poform-supplier-grid strong[b-araczyruog] {
    font-size: .85rem;
    color: #16233d;
}

.poform-empty-hint[b-araczyruog] {
    font-size: .8rem;
    color: #8494ab;
    padding: .5rem 0;
}

.poform-field[b-araczyruog] {
    margin-bottom: .85rem;
}

.poform-field:last-child[b-araczyruog] { margin-bottom: 0; }

.poform-field label[b-araczyruog] {
    display: block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #7c8aa0;
    margin-bottom: .3rem;
}

.poform-field-row[b-araczyruog] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .75rem;
}

.poform-field-hint[b-araczyruog] {
    display: block;
    color: #8494ab;
    font-size: .68rem;
    margin-top: .25rem;
}

.poform-readonly-field[b-araczyruog] {
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: #f5f7fa;
    border: 1px solid #e1e7ef;
    border-radius: 6px;
    font-size: 13px;
    color: #47566e;
}

/* ── Detalle de productos ──────────────────────────────────────────────────── */

/* Con minmax(0, ...) en las columnas la fila ya no debería forzar overflow, pero se deja este
   scroll interno como red de seguridad legítima (no oculta contenido, solo lo hace desplazable)
   para casos límite: nombres de producto muy largos, fuentes grandes por accesibilidad, etc. */
.poform-lines-card[b-araczyruog] { margin-bottom: 1rem; overflow-x: auto; }

.poform-lines-header-row[b-araczyruog] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e4e9f0;
    padding-bottom: .65rem;
    margin-bottom: .85rem;
}

.poform-lines-header-row h2[b-araczyruog] {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    margin: 0;
    color: #47566e;
}

.poform-lines-table-header[b-araczyruog],
.poform-lines-row[b-araczyruog] {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.1fr) 100px 130px 150px 190px 34px;
    gap: 10px;
    align-items: start;
}

.poform-lines-table-header[b-araczyruog] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8494ab;
    padding: 0 2px 6px;
    border-bottom: 1px solid #e4e9f0;
    margin-bottom: 8px;
    align-items: center;
}

.poform-lines-row[b-araczyruog] {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #eef1f5;
}

.poform-line-product[b-araczyruog] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.poform-line-sku[b-araczyruog] { color: #1767c4; font-size: 11px; padding-left: 2px; }

.poform-line-presentation[b-araczyruog] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.poform-line-presentation .poform-unit-badge[b-araczyruog] { align-self: flex-start; }

.poform-line-error[b-araczyruog] {
    color: #b3261e;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.3;
    padding-top: 2px;
}

.poform-unit-badge[b-araczyruog] {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    background: #eef2f7;
    color: #47566e;
    font-size: 11px;
    font-weight: 700;
}

.poform-line-qty[b-araczyruog], .poform-line-cost[b-araczyruog], .poform-line-discount[b-araczyruog] { display: flex; flex-direction: column; gap: 4px; }
.poform-line-hint[b-araczyruog] { color: #8494ab; font-size: 10.5px; text-align: right; display: block; }

.poform-line-total[b-araczyruog] {
    height: auto;
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
    padding: 8px 12px;
}

.poform-line-total > div[b-araczyruog] { width: 100%; }

.poform-line-total div:first-child[b-araczyruog] {
    font-size: 11px;
    color: #7c8aa0;
}

.poform-line-total div:first-child small[b-araczyruog] {
    font-size: 10px;
    color: #a4aec0;
}

.poform-line-total strong[b-araczyruog] {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #16233d;
}

.poform-line-total .poform-line-hint[b-araczyruog] { text-align: right; margin-top: 2px; }

.poform-lines-summary[b-araczyruog] {
    font-size: 11.5px;
    color: #6b7a92;
    padding: .6rem 0 0;
}

.poform-lines-summary strong[b-araczyruog] { color: #16233d; }

/* ── Totales ───────────────────────────────────────────────────────────────── */

.poform-totals-card[b-araczyruog] {
    background: #0b1930;
    color: #fff;
    border-radius: 10px;
    padding: 1rem 1.1rem;
    max-width: 310px;
    margin-left: auto;
}

.poform-totals-title[b-araczyruog] {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #7c8aa3;
    text-transform: uppercase;
    padding-bottom: .5rem;
    margin-bottom: .1rem;
    border-bottom: 1px solid #23304a;
}

.poform-totals-card > div:not(.poform-totals-title)[b-araczyruog] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .38rem 0;
    font-size: .82rem;
    color: #9aa8bd;
}

.poform-totals-card strong[b-araczyruog] { color: #fff; font-weight: 600; }

.poform-totals-volume[b-araczyruog] {
    align-items: center;
    padding: .25rem 0 !important;
    gap: .5rem;
}

.poform-totals-volume span[b-araczyruog] {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

/* MudNumericField es un componente hijo — su HTML interno (input, adornos, borde) no lleva el
   atributo de scope de este .razor.css, así que hace falta ::deep para que las reglas lleguen
   (mismo patrón que MovementDetail.razor.css). Sin ::deep, el ancho y el color de texto no se
   aplicaban en absoluto: el campo quedaba estirado a 100% y con el texto invisible. */
.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field {
    width: 84px !important;
    flex: 0 0 84px !important;
}

.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field .mud-input-slot { text-align: right; }

.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field .mud-input-control-input-container {
    background: rgba(255, 255, 255, .06);
    border-radius: 8px;
}

.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field input {
    color: #ffffff !important;
    font-weight: 700;
    text-align: right;
}

.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field .mud-input-adornment {
    color: #ffffff !important;
    font-weight: 700;
}

.poform-totals-volume[b-araczyruog]  .poform-totals-volume-field .mud-input-outlined-border {
    border-color: rgba(255, 255, 255, .55) !important;
}

.poform-totals-base[b-araczyruog] {
    border-top: 1px solid #23304a;
    margin-top: .1rem;
    padding-top: .55rem !important;
}

.poform-totals-base span[b-araczyruog] { color: #c7d0e0; font-weight: 600; }
.poform-totals-base strong[b-araczyruog] { font-size: .92rem; font-weight: 700; }

.poform-totals-grand[b-araczyruog] {
    border-top: 1px solid #344057;
    margin-top: .3rem;
    padding-top: .6rem !important;
    font-size: 1rem;
}

.poform-totals-grand span[b-araczyruog] { color: #d7f9e6; font-weight: 700; }
.poform-totals-grand strong[b-araczyruog] { color: #34d399; font-size: 1.25rem; }

/* ── Responsive ────────────────────────────────────────────────────────────── */

@media (max-width: 1150px) {
    .poform-top-grid[b-araczyruog] { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
    .poform-top-grid[b-araczyruog] { grid-template-columns: 1fr; }
    .poform-lines-table-header[b-araczyruog] { display: none; }
    .poform-lines-row[b-araczyruog] {
        grid-template-columns: 1fr;
        gap: 6px;
        background: #f9fafb;
        border: 1px solid #eef1f5;
        border-radius: 8px;
        padding: 10px;
    }
    .poform-line-hint[b-araczyruog] { text-align: left; }
    .poform-line-total[b-araczyruog] { justify-content: flex-start; }
}

@media (max-width: 640px) {
    .poform-page[b-araczyruog] { padding: 1rem; }
    .poform-header[b-araczyruog] { flex-direction: column; }
    .poform-actions[b-araczyruog] { width: 100%; }
    .poform-actions .mud-button-root[b-araczyruog] { flex: 1 1 100%; }
    .poform-field-row[b-araczyruog] { grid-template-columns: 1fr; }
    .poform-totals-card[b-araczyruog] { max-width: 100%; }
}
/* /Components/Pages/PurchaseOrders.razor.rz.scp.css */
/* ── Tablero de Órdenes de Compra (PUR-REV-001 Fase 2) ────────────────────── */

/* Contenedor de referencia para los <MudDrawer> de la página (filtros avanzados y detalle) —
   ver comentario en PurchaseOrders.razor. Sin esto, el drawer cerrado reservaba su ancho en el
   flujo normal en vez de quedar fuera de pantalla.
   MudDrawerContainer es un componente hijo — su Class no lleva el atributo de scope de este
   .razor.css (mismo caso que el input de descuento por volumen y el botón "Cambiar" en
   PurchaseOrderForm), así que hace falta ::deep para que la regla realmente aplique. */
[b-0t0m0mmxrp] .purchase-orders-drawer-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.oc-kpi-grid[b-0t0m0mmxrp] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

@media (max-width: 1100px) {
    .oc-kpi-grid[b-0t0m0mmxrp] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .oc-kpi-grid[b-0t0m0mmxrp] { grid-template-columns: 1fr; }
}

.oc-kpi-card[b-0t0m0mmxrp] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    min-height: 88px;
    /* --bg-card / --border-color no están definidas en el design system (ver app.css);
       se usan los tokens reales de superficie/borde para que la tarjeta tenga contraste
       visible sobre el fondo de la página. */
    background: var(--surface-base, #fff);
    border: 1px solid var(--border-default, rgba(15, 23, 42, .08));
    border-radius: var(--radius-lg, 12px);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}

.oc-kpi-icon[b-0t0m0mmxrp] {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.oc-kpi-label[b-0t0m0mmxrp] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--text-tertiary);
    margin-bottom: 2px;
}

.oc-kpi-value[b-0t0m0mmxrp] {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.1;
}

.oc-kpi-sub[b-0t0m0mmxrp] {
    font-size: 11px;
    color: var(--text-tertiary);
    margin-top: 2px;
}

/* ── Toolbar ───────────────────────────────────────────────────────────── */

.oc-toolbar[b-0t0m0mmxrp] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.oc-toolbar-search[b-0t0m0mmxrp] {
    flex: 2 1 320px;
    min-width: 260px;
}

/* ── Celda proveedor ───────────────────────────────────────────────────── */

.oc-supplier-name[b-0t0m0mmxrp] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 220px;
    font-weight: 600;
    font-size: 13px;
}

.oc-supplier-ruc[b-0t0m0mmxrp] {
    display: block;
    color: var(--text-tertiary);
    font-size: 11px;
    margin-top: 2px;
}

/* ── Entrega vencida ───────────────────────────────────────────────────── */

.oc-overdue-text[b-0t0m0mmxrp] {
    display: block;
    color: #dc6a6a;
    font-size: 11px;
    margin-top: 1px;
}

/* ── Badges de recepción ───────────────────────────────────────────────── */

.oc-receipt-wrap[b-0t0m0mmxrp] { min-width: 110px; }

.oc-receipt-label[b-0t0m0mmxrp] {
    display: flex;
    justify-content: flex-start;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 3px;
    white-space: nowrap;
}

.receipt-pending[b-0t0m0mmxrp]  { color: #6b7280; }
.receipt-partial[b-0t0m0mmxrp]  { color: #b45309; }
.receipt-complete[b-0t0m0mmxrp] { color: #15803d; }
.receipt-na[b-0t0m0mmxrp]       { color: var(--text-tertiary); font-style: italic; }

/* ── Número de orden en una sola línea ────────────────────────────────── */

.oc-order-number[b-0t0m0mmxrp] {
    white-space: nowrap;
    cursor: pointer;
    color: var(--brand-primary);
}

/* ── Estado vacío / error ─────────────────────────────────────────────── */

.oc-empty-state[b-0t0m0mmxrp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px 12px;
    color: var(--text-secondary);
}
/* /Components/Shared/MovementWorkflowDialog.razor.rz.scp.css */
.movement-action-dialog[b-tzvjeao6gc] {
    max-width: 520px;
}

.movement-action-state[b-tzvjeao6gc] {
    display: flex;
    gap: 12px;
    padding: 14px;
    border: 1px solid;
    border-radius: 8px;
    margin-bottom: 16px;
}

.movement-action-state strong[b-tzvjeao6gc] {
    display: block;
    font-size: 13px;
}

.movement-action-state p[b-tzvjeao6gc] {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.45;
}

.movement-action-state--success[b-tzvjeao6gc] {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #15803d;
}

.movement-action-state--danger[b-tzvjeao6gc] {
    background: #fff7f7;
    border-color: #fecaca;
    color: #b91c1c;
}

.movement-action-summary[b-tzvjeao6gc] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 18px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    border-radius: 7px;
    background: var(--border-subtle);
}

.movement-action-summary div[b-tzvjeao6gc] {
    padding: 10px 12px;
    background: var(--surface-inset);
}

.movement-action-summary dt[b-tzvjeao6gc] {
    color: var(--text-tertiary);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.movement-action-summary dd[b-tzvjeao6gc] {
    margin: 4px 0 0;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 520px) {
    .movement-action-summary[b-tzvjeao6gc] {
        grid-template-columns: 1fr;
    }
}
