﻿h1:focus {
    outline: none;
}

.alert {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    padding: 0.5rem 0.5rem !important;
}

hr {
    margin: 5px 0 !important;
}

.dxbl-text-edit {
    padding: 2px !important;
    border: 0px !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.dxbl-text-edit-input {
    padding: 10px !important;
}

.dxbl-grid-bottom-panel .dxbl-text-edit-input {
    padding: 0px !important;
    border: 0px !important;
    border-radius: 0px !important;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.3) !important;
}

.dxbl-grid-bottom-panel .dxbl-pager-page-edit-text {
    display: flex;
    align-items: flex-start;
    margin-top: 8px;
}

.dxbl-modal-content {
    border-radius: 0px 0px 30px 30px !important;
    border: 2px !important;
}

.userProfile .dxbl-text-edit {
    margin-bottom: 15px;
    padding: 2px 5px 2px 5px !important;
    border: 0px !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio):not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly).dxbl-checkbox-checked .dxbl-checkbox-check-element, .dxbl-checkbox:not(.dxbl-checkbox-switch):not(.dxbl-checkbox-radio):not(.dxbl-disabled):not(:disabled):not(.dxbl-readonly).dxbl-checkbox-indeterminate .dxbl-checkbox-check-element {
    background-color: var(--normalBgColor) !important;
}

.dxbl-checkbox.dxbl-checkbox-display-view-checked > div > .dxbl-image, .dxbl-checkbox.dxbl-checkbox-display-view-indeterminate > div > .dxbl-image, .dxbl-checkbox.dxbl-checkbox-display-view-unchecked > div > .dxbl-image {
    fill: var(--normalBgColor) !important;
}

.dxbl-list-box-item-selected {
    background: var(--normalBgColor) !important;
    color: #fff !important;
}

dxbl-toolbar-item:not(:last-child) {
    margin-right: 15px !important;
}

.adminPopup.dxbl-popup {
    position: fixed !important;
    margin: 0 !important;
    z-index: 9999;
}

    .adminPopup.dxbl-popup:not([style*="left"]):not([style*="top"]) {
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

.adminPopup .dxbl-list-box-item-selected {
    color: #fff !important;
}

.adminPopup .adminField {
    width: 100%;
    /* width: fit-content; */
}

.adminField.field-required .dxbl-text-edit {
    border: 2px solid #dc3545 !important;
    border-radius: 4px;
}

.adminField.field-required label {
    color: #dc3545;
    font-weight: bold;
}

.mandantFormatCustomizations .adminPopup .adminField {
    width: fit-content;
}

.dxbl-spin-btns button {
    padding: 0px !important;
}

.adminPopup .adminField .dec-number-input {
    width: 70px !important;
}


.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.loading {
    position: absolute;
    top: 50%;
    left: 50%;
}

.ring {
    border: 10px solid #063e85;
    border-radius: 50%;
    border-top: 10px solid #063e85;
    border-right: 10px solid #009fe3;
    border-bottom: 10px solid #009fe3;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-40%,-50%);
    width: 50px;
    height: 50px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    font-size: 1px;
    color: #fff;
    letter-spacing: 4px;
    text-shadow: 0;
    box-shadow: none;
    z-index: 111;
}

    .ring:before {
        border: 0;
        border-top: 0;
        border-right: 0;
    }

    .ring span {
        display: none !important;
    }

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


body {
    font-family: 'Hind',Arial,Verdana,Helvetica,sans-serif !important;
}

/* Blochează scroll-ul global de pe body DOAR pe paginile de admin
   (Global Admin şi Company Admin). Aceste pagini au layout fix pe 100vh
   cu scroll intern în grid-uri; nu trebuie să apară un scroll suplimentar
   pe body. Folosim :has() pentru ca regula să afecteze doar admin pages
   şi nu să rupă paginile cu scroll legitim (prezentare, login, etc.). */
body:has(> .globalAdminPageContainer),
body:has(> .companyAdminPageContainer),
body:has(.globalAdminPageContainer),
body:has(.companyAdminPageContainer) {
    overflow: hidden;
    height: 100vh;
}

.serverType {
    margin-left: 50px !important;
    font-size: 1rem;
    color: var(--textHoverColor) !important;
    animation: textAnimation 1s infinite alternate;
    font-weight: bold;
}

@keyframes textAnimation {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.5;
    }
}


/* partner nomenclator*/
.checkPartnerForm {
    max-height: 70vh;
    overflow-y: auto;
    padding-right: 8px;
}

.partnerFormSection {
    margin-bottom: 12px;
}

.partnerFormSection .sectionTitle {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    color: #6c757d;
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 4px;
    margin-bottom: 8px;
}

.partnerFieldsRow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    align-items: start;
}

.partnerFieldsRow .left-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.partnerFieldsRow .right-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.partnerCheckboxRow {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    padding: 4px 0;
}

.partnerCheckboxRow .checkboxAnafCompare {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lastAnafCheckInfo {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 13px;
    color: #495057;
    margin-top: 4px;
}

.fieldComparePartnerGrid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    align-items: start;
}

.anaf-field-value {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 5px;
}


.copyButtonContainer {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 30px;
}

.fieldBlockPartnerPartner.right-column {
    grid-column: 3;
}

.fieldBlockPartnerPartner.left-column {
    grid-column: 1;
}

.headerCellPartner:first-child {
    grid-column: 1;
}

.headerCellPartner:last-child {
    grid-column: 3;
}

/* login */
.loginPageContainer, .passwordResetPageContainer {
    height: 100vh;
    /*background-color: #063e85;*/
}

.loginForm {
    display: block;
    margin-top: 10% !important;
    /* left: 30%; */
    background-color: #ffffff88;
    width: 40rem;
    padding: 40px 50px 40px 50px;
    border-radius: 50px;
    margin: auto;
}

.loginCompanyName {
    font-size: 3rem;
}

.loginInput {
    margin-top: 0px;
}

.dxbl-btn {
    padding: 10px 20px 10px 20px !important;
}

/* casute paginare footer */
.dxbl-grid-bottom-panel .dxbl-pager-container {
    max-height: 50px !important;
}

.dxbl-grid-bottom-panel .dxbl-btn,
.dxbl-grid-bottom-panel .dxbl-text-edit {
    padding: 5px 10px 5px 10px !important;
    max-height: 30px !important;
    margin-top: 7px !important;
}

.dxbl-grid-bottom-panel .dxbl-pager-page-size-selector .dxbl-text {
    display: block;
    margin-top: 7px !important;
}
/* end casute paginare footer */

.loginButton button:disabled {
    background-color: #456 !important;
}

.loginButton button:not(:hover) {
    background-color: var(--normalBgColor) !important;
}

.loginButton button:not(:disabled):hover {
    background-color: var(--hoverBgColor) !important;
}

.loginButton {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
}

    .loginButton a {
        cursor: pointer;
    }

.loginErrorMessage {
    padding-top: 20px;
    color: red;
}

.mandant-combobox {
    /* width: 200px; */
    width: max-content;
    /*margin-bottom: 10px !important;*/
}

.dxbl-text-edit-template {
    align-items: center;
}

.comp-combobox-item-template {
    display: flex;
    align-items: center;
}

.language-combobox {
    width: 200px;
}

.lang-combobox-item-template {
}

    .lang-combobox-item-template img {
        width: 30px !important;
        height: 20px !important;
    }

#languageSelectorIcon {
    cursor: pointer;
}

.langguageSelectorList {
    position: absolute;
    right: 13%;
    margin-top: 26px;
    z-index: 9999;
    border-radius: 0px 5px 5px 50px;
    width: 180px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.langguageSelectorListItem {
    text-align: right;
    cursor: pointer;
    min-width: max-content;
    padding: 3px 5px 3px 5px;
    font-size: 0.9rem;
}

    /*
    .langguageSelectorListItem:hover {
        opacity: 0.7;
    }
*/

    .langguageSelectorListItem img {
        width: 30px !important;
        height: 20px !important;
    }

.userMenuList {
    position: absolute;
    right: 13%;
    margin-top: 15px;
    z-index: 9999;
    border-radius: 0px 5px 5px 50px;
    width: 180px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.userMenuListItem {
    text-align: right;
    cursor: pointer;
    min-width: max-content;
    padding: 3px 5px 3px 5px;
    font-size: 0.9rem;
}

/*
    .userMenuListItem:hover {
        opacity: 0.7;
    }
*/

.notificationMenuList {
    position: absolute;
    right: 1%;
    margin-top: 15px;
    z-index: 9999;
    border-radius: 0px 5px 5px 50px;
    width: 206px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.notificationMenuListItem {
    text-align: right;
    cursor: pointer;
    /* min-width: max-content; */
    padding: 3px 5px 3px 5px;
    font-size: 0.7rem;
}

/*
    .notificationMenuListItem:hover {
        opacity: 0.7;
    }
*/

.notoficationMenuContainer i {
    color: #fff !important;
}

/* admin page */

.copyMandantContainer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 20px 10px 0px;
}

.copyMandant {
    display: flex;
    align-items: center;
}

    .copyMandant .adminButton {
        margin: 0 10px 0 0 !important;
        width: auto;
        white-space: nowrap;
    }

.mandantErpSettingsForm,
.mandantForm,
.apiConnForm,
.sqlConnForm {
    max-height: 70vh !important;
    overflow: auto !important;
    padding: 10px;
}

    .mandantErpSettingsForm .adminField {
        width: 300px;
        padding-right: 20px;
    }

    .mandantErpSettingsForm .adminRow {
        display: flex;
        align-items: center;
    }

.operationSections {
    display: flex;
    gap: 20px;
}

.operationSection {
    width: 100%;
}

    .operationSection .adminCombo {
        margin-left: 2px;
    }

.operationForm {
    border: 1px solid #ccc;
    /*background-color: #f5f5f5;*/
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 20px;
    transition: border-color 0.3s ease;
    animation: fadeIn 0.4s ease-out;
}

    .operationForm > div:first-child {
        font-weight: bold;
        margin-bottom: 10px;
    }

    .operationForm .adminRow {
        display: flex;
        align-items: center;
        gap: 25px;
    }

        .operationForm .adminRow .adminField {
            width: fit-content !important;
        }

    .operationForm .adminField:nth-of-type(3) {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        gap: 10px;
    }

.mandantForm .adminField,
.apiConnForm .adminField,
.sqlConnForm .adminField {
    width: auto !important;
}

.mandantFormatCustomizations .adminField,
.adminCompArchiveForm .adminField,
.userTokenConfig .adminField {
    width: fit-content !important;
}

.objectMappingForm {
    max-height: 70vh !important;
    overflow: auto !important;
}

/*tooltip*/
.customizationSection {
    position: relative;
    display: inline-block;
}

    .customizationSection label {
        visibility: hidden;
        min-width: fit-content;
        max-width: 350px;
        background-color: #333;
        color: #fff;
        border-radius: 6px;
        padding: 15px;
        border: 1px dashed #000;
        margin-left: 5px;
        position: absolute;
        z-index: 1;
        top: -50px;
    }

    .customizationSection:hover label {
        visibility: visible;
    }
/* end tooltip */

.companyForm .adminField {
    margin-bottom: 15px !important;
}

.dxbl-tabs-content {
    margin-top: 10px !important;
}

.adminButton {
    background: var(--normalBgColor) !important;
    margin-bottom: 10px;
    margin-top: 10px;
    border: 0 !important;
    white-space: wrap;
}

    .adminButton span {
        color: #fff !important;
    }

    .adminButton:hover {
        background: var(--hoverBgColor) !important;
    }

.adminPopup .dxbl-checkbox-checked .dxbl-image {
    background: var(--normalBgColor) !important;
    border: 0 !important;
}

.xButton {
    height: fit-content;
    align-self: center;
    width: 20px;
}

.dxbl-active span {
    font-weight: 600;
    color: #000;
}

.dxbl-list-box {
    height: auto !important;
}

.companyPage button:first-of-type {
}

.dxbl-popup-header {
    background: var(--normalBgColor) !important;
    background: var(--normalBgColor) !important;
    color: #fff !important;
}

.adminPopup .dxbl-modal-header .dxbl-popup-header-button {
    border-radius: 5px;
    padding: 5px;
}

.adminPopup .dxbl-text-edit {
    /* border: 1px solid #ccc !important;
    padding: 5px 10px 5px 10px !important;
    box-shadow: none !important;
    border-radius: 4px !important;*/
    margin-bottom: 15px;
    padding: 2px 5px 2px 5px !important;
    border: 0px !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.adminPopup .cw-320 {
    margin-bottom: 0px !important;
}

.bankAccountList .dxbl-text-edit,
.nonWorkingDays .dxbl-text-edit,
.objectMappingForm .dxbl-text-edit,
.connectorForm .dxbl-text-edit {
    margin-bottom: 0px !important;
}

.ibanInvalid .dxbl-text-edit-input-container {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 1px #dc3545 !important;
}

.ibanError {
    color: #dc3545;
    font-size: 11px;
    display: block;
    margin-top: 2px;
    line-height: 1.2;
}

.companyPage {
    max-width: 1200px;
    margin: auto;
    position: relative;
    margin-top: 50px;
}

.adminPageContainer {
    height: 100vh;
    /*background-color: #063e85;*/
}

.globalAdminPageContainer {
    height: 100vh;
    box-sizing: border-box;
    /* overflow: hidden previne scrollbar-ul global de pe body: containerul
       are 100vh, dar copiii (header + tabs + grid cu height calc) însumează
       mai mult datorită margine-lor implicite. Clipping-ul rezolvă fără să
       afecteze scroll-urile interne din grid-uri / liste de traduceri. */
    overflow: hidden;
    /*background-color: #063e85;*/
}

/* Padding lateral aplicat DOAR pe wrapper-ul intern care conţine butonul
   "Inapoi la Pagina de Start" + DxTabs. Astfel butonul nu mai e lipit de
   marginea stângă, iar grid-urile dinăuntru îşi păstrează lăţimea naturală
   (fără scroll orizontal). PageHeader rămâne neafectat pentru că e în afara
   acestui wrapper.
   Selectoarele acoperă ambele variante de markup folosite în proiect:
     - GlobalAdminPage   -> .globalAdminContainer
     - CompanyAdminPage  -> .companyPage
*/
.globalAdminPageContainer > .globalAdminContainer,
.companyAdminPageContainer > .companyPage {
    padding: 0 16px;
    box-sizing: border-box;
}

.companyAdminPageContainer {
    height: 100vh;
    box-sizing: border-box;
    /* Acelaşi rationale ca la .globalAdminPageContainer - previne scrollbar
       global pe body atunci când conţinutul intern depăşeşte 100vh. */
    overflow: hidden;
    /*background-color: #063e85;*/
}

.userManualContainer {
    height: 100vh;
    /*background-color: #063e85;*/
}

.customizationForm {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .customizationForm .dxbl-btn {
        background: var(--normalBgColor) !important;
        border: 0px !important;
        margin-bottom: 10px;
    }

        .customizationForm .dxbl-btn span {
            color: #fff !important;
        }

.customizationSection {
    width: 23%;
    padding: 10px;
    margin: 10px;
    border: 1px solid #ccc;
    background: #f1f1f1;
}

    .customizationSection:last-of-type {
        width: 100% !important;
        padding: 10px;
        margin: 10px;
        border: 1px solid #ccc;
        background: #f1f1f1;
    }

.customizationForm label {
    font-size: 0.9rem;
    /*padding-bottom: 5px;
    font-weight: bold;*/
}

.adminImage img {
    max-width: 130px;
}

/* task widget */
.taskWidgetContainer {
    /*position: fixed;
    bottom: 50px;*/
    margin-top: 50px;
    width: fit-content;
    position: absolute;
    z-index: 0;
}

.task-count {
    /*border-radius: 50%;
	margin: 5px;
    height: 40px !important;
	*/
    border-radius: 0px 5px 15px 0px;
    background: var(--normalBgColor) !important;
    color: #fff !important;
    display: block;
    text-align: center;
    align-content: center;
    height: 25px !important;
    width: max-content;
    min-width: 32px;
    cursor: pointer;
    z-index: 1;
}

    .task-count:hover {
        background: var(--hoverBgColor) !important;
    }

.task-row[task-type="SendToSPV"]:hover .task-type-name,
.task-row[task-type="SendToSPV"] .task-count {
    background: #34D399 !important;
}

.task-row[task-type="GetFromSPV"]:hover .task-type-name,
.task-row[task-type="GetFromSPV"] .task-count {
    background: #F59E0B !important;
}

.task-row[task-type="SendToERP"]:hover .task-type-name,
.task-row[task-type="SendToERP"] .task-count {
    background: #FB7185 !important;
}

.task-row[task-type="GetFromERP"]:hover .task-type-name,
.task-row[task-type="GetFromERP"] .task-count {
    background: #60A5FA !important;
}

.task-row[task-type="SendToArchive"]:hover .task-type-name,
.task-row[task-type="SendToArchive"] .task-count {
    background: #A78BFA !important;
}

div[task-type="SendToSPV"] .task-count:hover,
div[task-type="GetFromSPV"] .task-count:hover,
div[task-type="SendToERP"] .task-count:hover,
div[task-type="GetFromERP"] .task-count:hover,
div[task-type="SendToArchive"] .task-count:hover {
    background: var(--hoverBgColor) !important;
}

.task-row {
    display: flex;
    align-items: center;
    /*flex-direction: row-reverse;
	border-radius: 0px 5px 15px 0px;*/
    height: 25px;
    margin-bottom: 2px;
}

.task-type-name {
    visibility: hidden;
    background: transparent !important;
    padding-left: 10px;
    padding-right: 10px;
}


.task-row:hover .task-type-name {
    visibility: visible;
    display: flex;
    align-items: center;
    height: 25px;
    border-radius: 0px 5px 15px 0px;
    color: #fff !important;
}

.task-row:hover .task-count {
    border-radius: 0px;
}




.menuContainer {
    /*display: flex;
    flex-direction: column;*/
}

/* user profile */
.userProfileRow label {
    width: 100%;
}

.userProfile button {
    margin-top: 10px;
    border: 0 !important;
}

    .userProfile button:not(:hover) {
        background: var(--normalBgColor) !important;
    }

    .userProfile button:hover {
        background: var(--hoverBgColor) !important;
    }

/* generic home page */
.homePageContainer {
    height: 100vh;
}

.pageBackground {
    opacity: 0.2;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 0.5rem 4rem 0.5rem 4rem;
    border-radius: 0px 0px 70px 70px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    width: 65%;
    margin-left: 17.5%;
    height: 70px;
}

    .header label {
        margin-left: auto;
        margin-right: 20px;
    }

.user-controls {
    display: flex;
    border-top-left-radius: 70px;
    border-bottom-right-radius: 70px;
    position: fixed;
    top: 0;
    right: 1%;
    padding: 1.5rem;
    align-items: center;
    min-width: 13rem;
    justify-content: center;
    height: 70px;
    z-index: 999; /*under pop-ups*/
}

    .user-controls i {
        padding: 15px;
        color: white;
        cursor: pointer;
    }

.loginHelpBtn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.7);
    background: transparent;
    color: white;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    flex-shrink: 0;
    transition: background 0.2s;
}

    .loginHelpBtn:hover {
        background: rgba(255,255,255,0.2);
    }

.loginHelpContent {
    padding: 8px 4px;
    font-size: 14px;
    line-height: 1.6;
    overflow-y: auto;
}

    .loginHelpContent h3 {
        margin: 16px 0 6px 0;
        font-size: 15px;
    }

    .loginHelpContent p {
        margin: 4px 0 8px 0;
    }

    .loginHelpContent ul, .loginHelpContent ol {
        padding-left: 20px;
        margin: 4px 0 8px 0;
    }

    .loginHelpContent li {
        margin-bottom: 4px;
    }

.logo {
    height: 50px;
}

.pageFooter {
    display: flex;
    justify-content: center;
}

.footer {
    border-top-left-radius: 70px;
    border-top-right-radius: 70px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    padding: 0.5rem 4rem 0.5rem 4rem;
    text-align: center;
    position: fixed;
    bottom: 0;
    width: max-content;
    margin: auto;
    z-index: 10;
}

.footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

    .footer-links a {
        text-decoration: none;
        font-size: 0.9rem;
        transition: color 0.3s;
    }

/* presentation page */
.presentationPageContainer {
    height: 100vh;
    /*background-color: #063e85;*/
}

.presentationMenuContainer {
    position: sticky;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    align-self: center;
    border: 2px solid red;
    padding: 5px;
}

.presentationMenuButton {
    text-decoration: none !important;
    color: red !important;
    cursor: pointer;
    margin: 10px;
}

    .presentationMenuButton:hover {
        background-color: blue;
    }

.presentationTitleContainer {
    position: relative;
    top: 25%;
    font-size: xx-large;
    margin: auto;
    /*border: 2px solid green;*/
    width: fit-content;
}

.presentationBigButtonContainer {
    position: relative;
    top: 45%;
    width: fit-content;
    margin: auto;
}

.presentationBigButton {
    padding: 30px;
    margin: 10px;
    background-color: blueviolet;
    border-radius: 5px;
}

    .presentationBigButton:hover {
        box-shadow: gray 5px 5px;
    }

.favIconNew, .favIconLoad, .smallLogoNew, .smallLogoLoad, .bigLogoNew, .bigLogoLoaded, .backgroundImgNew, .backgroundImgLoaded {
    max-width: 100px;
}

/* ---------------------company home page-------------------------------- */

.homeCompanyName {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    font-size: 2rem;
    max-width: max-content;
    margin: auto;
    margin-top: 7%;
}

.mandantSelectorContainer {
    /* margin-top: 40px;
    float: right; */
    margin-left: 4px;
    width: 250px;
}

    .mandantSelectorContainer dxbl-combo-box {
        width: auto;
    }

.companyHomePageContainer {
    height: 100vh;
    /*background-color: #063e85;*/
    font-family: 'Segoe UI', sans-serif;
}

.company-name {
    top: 19px;
    left: 638px;
    width: 615px;
    height: 20px;
    color: var(--unnamed-color-303c49);
    text-align: left;
    letter-spacing: 0px;
    color: #303C49;
    opacity: 1;
}

.homeButtons {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    justify-content: center;
    /*max-width: 100% !important;
   padding-top: 5% !important;*/
    margin: auto !important;
    margin-top: 20px !important;
}

    .homeButtons button {
        max-width: 30%;
        min-height: 20vh;
        margin: 20px;
        border-radius: 0px;
        display: grid;
        flex: 1 1 60%;
        color: #fff !important;
        box-shadow: 2px 5px 12px 0px #ccc !important;
        transition: opacity 1s !important;
        border: 0;
    }

/*
    .homeButtons:hover button:not(:hover) {
        opacity: 0.5 !important;
    }
*/



/* Definim animația */
@keyframes fadeInLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.homeButtons button:nth-child(1) {
    border-top-left-radius: 50px !important;
    opacity: 0;
    transform: translateX(-100px);
    animation: fadeInLeft 1s ease-out forwards;
}

.homeButtons button:nth-child(2) {
    opacity: 0;
    transform: translateY(-100px);
    animation: fadeInUp 1s ease-out forwards;
}

.homeButtons button:nth-child(3) {
    border-top-right-radius: 50px !important;
    opacity: 0;
    transform: translateX(100px);
    animation: fadeInLeft 1s ease-out forwards;
}

.homeButtons button:nth-child(4) {
    border-bottom-left-radius: 50px !important;
    opacity: 0;
    transform: translateX(-100px);
    animation: fadeInLeft 1s ease-out forwards;
}

.homeButtons button:nth-child(5) {
    opacity: 0;
    transform: translateY(150px);
    animation: fadeInUp 1s ease-out forwards;
}

.homeButtons button:nth-child(6) {
    border-bottom-right-radius: 50px !important;
    opacity: 0;
    transform: translateX(150px);
    animation: fadeInLeft 1s ease-out forwards;
}

.homeButtons button:not(:hover) {
    background: var(--normalBgColor) !important;
}

.homeButtons button:hover:not(:disabled) {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    background: var(--hoverBgColor) !important;
}

.homeButtons button:hover:disabled {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    background: #456 !important;
}

.homeButtonTitle {
    font-size: 1.5em;
    font-weight: 600;
    position: relative;
    top: 20%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 90% !important;
    text-align: center;
    margin-bottom: 0px;
    text-wrap: auto;
}

.homeButtons button:nth-child(1) .homeButtonTitle:before {
    content: "";
    background-image: url(/icons/efactura-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 48px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

.homeButtons button:nth-child(2) .homeButtonTitle:before {
    content: "";
    background-image: url(/icons/saft-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 47px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

.homeButtons button:nth-child(3) .homeButtonTitle:before {
    content: "";
    background-image: url(/icons/etransport-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 48px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

.homeButtons button:nth-child(4) .homeButtonTitle:before {
    content: "";
    background-image: url(/icons/D394-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 50px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

.homeButtons button:nth-child(5) .homeButtonTitle:before {
    content: "";
    background-image: url(/icons/etva-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 55px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

.homeButtons button:nth-child(6) .homeButtonTitle:before {
    /*
    display: block;
    width: 50%;
    max-width: 50px;
    height: auto;
    margin: auto;
    content: url('/icons/contact.png');
    padding-bottom: 10px;
*/

    content: "";
    background-image: url(/icons/contact-icon.png);
    background-size: 100% 100%;
    display: block;
    height: 60px;
    width: 50px;
    position: relative;
    bottom: 15px;
    margin: auto;
}

/*
.homeButtons button:nth-child(1) .homeButtonTitle,
.homeButtons button:nth-child(1) .homeButtonText {
    color: #209bd5 !important;
}

.homeButtons button:nth-child(2) .homeButtonTitle,
.homeButtons button:nth-child(2) .homeButtonText {
    color: #006eb2 !important;
}

.homeButtons button:nth-child(3) .homeButtonTitle,
.homeButtons button:nth-child(3) .homeButtonText {
    color: #053e85 !important;
}

.homeButtons button:nth-child(4) .homeButtonTitle,
.homeButtons button:nth-child(4) .homeButtonText {
    color: #035399 !important;
}

.homeButtons button:nth-child(5) .homeButtonTitle,
.homeButtons button:nth-child(5) .homeButtonText {
    color: #0d3466 !important;
}

.homeButtons button:nth-child(6) .homeButtonTitle,
.homeButtons button:nth-child(6) .homeButtonText {
    color: #152b49 !important;
}
*/

.homeButtonText {
    /*max-width: 90% !important;
    text-overflow: clip;
    text-wrap: pretty;
    line-height: 1.1;
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    top: 45%;
    text-align: left;
    white-space: break-spaces;*/

    max-width: 90% !important;
    /* text-overflow: clip; */
    /* text-wrap: pretty; */
    line-height: 1.1;
    /* position: absolute; */
    left: 0;
    right: 0;
    /* margin-left: auto; */
    /*margin-right: 0%;*/
    /* top: 45%; */
    text-align: center;
    /*white-space: break-spaces;
    width: fit-content;*/
    margin-top: 20px;
}
/* ----------------------------------------------------- */

/* efactura */

.articleOkIcon {
    cursor: pointer;
    font-size: 20px;
}

.articleSuggestions,
.costSuggestions,
.costObjectiveSuggestions {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

    .articleSuggestions dxbl-combo-box {
        width: 100% !important;
    }

    .articleSuggestions dxbl-memo-editor,
    .costSuggestions dxbl-memo-editor,
    .costObjectiveSuggestions dxbl-memo-editor {
        width: 100% !important;
    }

    .articleSuggestions i,
    .costSuggestions i,
    .costObjectiveSuggestions i {
        margin-left: 10px;
    }

.articleSuggestionRow {
    white-space: nowrap;
    max-width: 200px;
    cursor: pointer;
    width: 200px;
    overflow: hidden;
}

    .articleSuggestionRow:not(:first-of-type) {
        border-top: 1px solid var(--footerBgColor)
    }

.articleEditIcon {
    cursor: pointer;
    position: relative;
    top: 0;
    right: 0;
    float: right;
    display: none !important;
    font-size: 20px;
    padding-right: 5px;
}

.articleEditContainer:hover .articleEditIcon {
    display: initial !important;
}

.articleSearchIcon {
    cursor: pointer;
    position: relative;
    top: 0;
    right: 0;
    float: right;
    display: initial !important;
    font-size: 20px;
    padding-right: 5px;
}

.einvoice-content-area a {
    cursor: pointer;
    color: var(--normalBgColor) !important;
}

    .einvoice-content-area a:hover {
        color: var(--hoverBgColor) !important;
    }

.eInvoicePreviewPopup,
.eInvoiceLogsPopup {
    min-width: 70% !important;
}

.dxbl-window-dialog {
    min-width: 750px !important;
}

dxbl-popup-cell .dxbl-window-dialog {
    max-width: fit-content !important;
    min-width: fit-content !important;
}

.previewEinvoice-container {
    display: flex;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
    justify-content: space-between;
}

.eInvoiceSupplier {
    width: 30%;
    margin-top: 60px;
}

    .eInvoiceSupplier span,
    .eInvoiceDetailsText {
        text-transform: uppercase;
        font-weight: 600;
    }

    .eInvoiceSupplier span {
        padding-bottom: 10px;
    }

.uploadButtonSupplier {
    width: 50%;
    padding: 15px 15px 5px 15px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.eInvoiceCustomerSection {
    display: flex;
    /*justify-content: space-between;*/
}

.eInvoiceDetails {
    width: fit-content;
}

.eInvoiceTitle {
    text-align: center;
    margin-bottom: 10px;
}

.eInvoiceInfo {
    border: 1px solid #000;
    padding: 15px;
    border-radius: 15px;
}

.eInvoiceDetails span {
    font-size: x-large;
    text-transform: uppercase;
    font-weight: bold;
    color: var(--normalBgColor);
    /*position: absolute;
		margin-top: -60px;*/
}

.eInvoiceDetailsSection {
    display: flex;
}

    .eInvoiceDetailsSection:nth-last-child(2) {
        /*background: var(--footerBgColor);
        padding: 5px;
        margin-top: 10px;
        border-radius: 5px;
        width: fit-content;*/
        margin-bottom: 5px;
    }

    .eInvoiceDetailsSection .dueDateText {
        font-size: 0.9rem;
        font-weight: initial;
    }

    .eInvoiceDetailsSection:nth-last-child(1) {
        flex-direction: column;
        background: var(--footerBgColor);
        padding: 10px;
        border-radius: 5px;
    }

    .eInvoiceDetailsSection .dueDateSelection {
        width: fit-content;
    }

.eInvoiceBuyer {
    width: 30%;
    margin-top: 60px;
}

    .eInvoiceBuyer span {
        text-transform: uppercase;
        font-weight: 600;
    }

.eInvoiceSupplierSection {
    display: flex;
    /*justify-content: space-between;*/
}

.eInvoiceObs {
    width: 50%;
}

.eInvoiceLinesHeader {
    display: flex;
    width: 100%;
    background: var(--normalBgColor) !important;
    font-weight: bold;
    color: #fff !important;
}

.eInvoiceLinesHeaderText:first-child {
    width: 25%;
}

.eInvoiceLinesHeaderText:nth-child(2) {
    width: 25%;
}

.eInvoiceLinesHeaderText {
    width: 14%;
    border-right: 1px solid var(--footerBgColor);
    padding: 5px;
}


.eInvoiceLines {
    min-width: 100%;
}

/*.eInvoiceRowDetails:first-child {
    width: 30%;
}*/

.eInvoiceRow {
    width: 100%;
    display: flex;
    margin-top: 2px;
    border-bottom: 1px solid var(--footerBgColor);
}
/*.eInvoiceRow:nth-child(2n+1) {
			background: #f9f9f9;
		}*/
.eInvoiceRowDetails {
    width: 14%;
    padding: 5px;
    border-right: 1px solid #fff;
}

    .eInvoiceRowDetails:first-child {
        width: 25%;
    }

    .eInvoiceRowDetails:nth-child(2) {
        width: 25%;
    }

.textAreaExplications {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    padding-right: 60px;
}

.eInvoiceTotalsRow {
    display: flex;
    background: antiquewhite !important;
    color: var(--textNormalColor) !important;
    padding: 10px;
    margin-top: 10px;
}

    .eInvoiceTotalsRow:after {
        content: "";
        display: table;
        clear: both;
    }

.eInvoiceTotals {
    padding-top: 1%;
    width: 50%;
    float: left;
    /*display: grid;*/
}

    .eInvoiceTotals span {
        text-transform: uppercase;
        font-weight: 600;
        margin-bottom: 5px;
    }

.eInvoiceTotalSection {
    /*width: 30%;*/
    display: flex;
}

.archiveRecordsList {
    text-align: right;
    width: 50%;
    padding: 15px 15px 15px 0px;
    vertical-align: middle;
    height: -webkit-fill-available;
}

.headerFilters {
    display: flex;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 10px;
    /*white-space: nowrap;*/
}

.headerFilters label {
    font-weight: bold;
    font-size: 14px;
}

/* Uniformizeaza dimensiunea textului intre labelurile cu text simplu si
   cele care contin DxRadio (radio-ul DevExpress are stiluri interne care
   pot da impresia ca textul de pe rândul de jos e mai mic / mai pal). */
.headerFilters .dxbl-checkbox-label,
.headerFilters .dxbl-radio-label,
.headerFilters .dxbl-text {
    font-size: 14px !important;
    font-weight: bold !important;
}

.headerFilters .dxbl-text-edit input {
    font-weight: bold;
}


.headerFilterButtons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.menu-btn {
    min-height: 40px;
    white-space: wrap;
}

/* Grid facturi emise — rânduri uniforme */
.einvoice-clients-grid .dxbl-grid-data-row > td {
    height: 40px;
    max-height: 40px;
    overflow: hidden;
}

/* Rând selectat — evidențiere cu nuanța de gri din antet */
.einvoice-clients-grid tr.selected-invoice-row > td {
    background-color: #e8edf3 !important;
}

/* ================================================================
   HEADER FIX — header ancorat, scroll intern pe rânduri
   Selectorul ">" vizează DOAR gridul direct copil al .grid-container,
   exclus gridurile nested din paginile Summary/popup.
   ================================================================ */

/* Pagini module principale: eInvoice, FiscalReports, SAFT */
.fiscalReports-content-area .grid-container > .dxbl-grid,
.einvoice-content-area .grid-container > .dxbl-grid {
    height: calc(100vh - 265px);
}

/* Pagini admin (Global Admin, Company Admin) */
/* Înălţime fixă pentru grid-uri: rândul cap de tabel rămâne mereu vizibil,
   doar zona cu date se scrollează intern. Marja de 330px lasă loc pentru:
     - header global ContaSync (~100px)
     - butonul "Înapoi la Pagina de Start" + DxTabs (~80px)
     - butonul "+" de deasupra grid-ului (~50px)
     - pager-ul grid-ului (~40px)
     - footer-ul cu Politica de Confidenţialitate / Cookies / Suport / Contact (~60px)
   max-width: 100% + box-sizing: border-box previne scroll-ul orizontal
   inutil — grid-ul respectă lăţimea containerului dat de padding-ul paginii. */
.globalAdminPageContainer .grid-container,
.companyAdminPageContainer .grid-container {
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.globalAdminPageContainer .grid-container > .dxbl-grid,
.companyAdminPageContainer .grid-container > .dxbl-grid {
    height: calc(100vh - 330px);
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

/* Eliminăm scroll-ul orizontal redundant din grid-urile admin.
   ColumnResizeMode="ColumnsContainer" face deja auto-sizing: coloanele
   se ajustează la lăţimea containerului, deci scroll-ul orizontal apare
   doar dacă utilizatorul redimensionează manual coloanele peste lăţimea
   disponibilă. Targetăm explicit containerele de scroll DevExpress
   (.dxbl-grid-table-container, .dxbl-scroll-viewer) ca scrollbar-ul
   orizontal vizibil iniţial să dispară.
   overflow-x: auto înseamnă: arată scrollbar DOAR când e necesar
   (nu apare implicit din rezerva de scrollbar a grid-ului). */
.globalAdminPageContainer .grid-container > .dxbl-grid .dxbl-grid-table-container,
.companyAdminPageContainer .grid-container > .dxbl-grid .dxbl-grid-table-container,
.globalAdminPageContainer .grid-container > .dxbl-grid .dxbl-scroll-viewer,
.companyAdminPageContainer .grid-container > .dxbl-grid .dxbl-scroll-viewer {
    overflow-x: auto;
    max-width: 100%;
}

/* Tabelul intern al grid-ului: lăţime 99% (în loc de 100%) ca să compensăm
   rezerva de scrollbar pe care DevExpress o aplică intern. La 100% exact,
   DxGrid considera că tabelul "atinge" marginea şi declanşa scrollbar-ul
   orizontal chiar şi cu 3 coloane. 99% îi dă suficientă lăţime ca să afişeze
   toate coloanele fără să declanşeze scroll-ul automat. */
.globalAdminPageContainer .grid-container > .dxbl-grid .dxbl-grid-table,
.companyAdminPageContainer .grid-container > .dxbl-grid .dxbl-grid-table {
    width: 99% !important;
    max-width: 99%;
}

/* Forţăm explicit absenţa scroll-ului orizontal pe wrapper-ul de scroll
   intern. Dacă utilizatorul redimensionează manual coloanele peste lăţime
   sau conţinutul depăşeşte, va apărea scrollbar pe .dxbl-grid-table-container
   (regula de mai sus rămâne overflow-x:auto pentru cazul real). Pentru
   majoritatea grid-urilor admin (3-6 coloane), 99% lăţime + auto = niciun
   scrollbar vizibil iniţial. */

/* Tab-ul "Conectori Globali" are deasupra grid-ului un dropdown "Conector ERP"
   (~50px) iar dedesubt un buton "Salveaza Conectorul" (~70px). Selectorul cu
   3 clase e mai specific decât regula de mai sus, deci o suprascrie pentru
   acest formular. */
.globalAdminPageContainer .connectorForm .grid-container > .dxbl-grid,
.companyAdminPageContainer .connectorForm .grid-container > .dxbl-grid {
    height: calc(100vh - 440px);
}

/* Conector ERP picker: label + combobox pe o linie, lăţime în funcţie
   de conţinut (nu pe toată lăţimea paginii). */
.globalAdminPageContainer .connectorForm > .tabPage > .adminField:first-of-type,
.companyAdminPageContainer .connectorForm > .tabPage > .adminField:first-of-type {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: fit-content;
    margin-bottom: 12px;
}

    .globalAdminPageContainer .connectorForm > .tabPage > .adminField:first-of-type .adminCombo,
    .companyAdminPageContainer .connectorForm > .tabPage > .adminField:first-of-type .adminCombo {
        width: auto !important;
        min-width: 240px;
    }

/* SAFT — generate page preview grids (în DxTabs): header fix, scroll intern */
.einvoice-content-area .data-preview-section .dxbl-grid {
    height: calc(100vh - 380px) !important;
}

.einvoice-content-area .data-preview-section .dxbl-grid .dxbl-grid-table-container,
.einvoice-content-area .data-preview-section .dxbl-grid .dxbl-scroll-viewer {
    max-height: 100%;
}

/* Excludem gridurile din popup-urile interne (linii facturi etc.) — acelea își gestionează singure înălțimea */
.einvoice-content-area .data-preview-section .dxbl-popup .dxbl-grid {
    height: auto !important;
}

/* Grid registre jurnal — regulă specifică (override redundant, dar explicit) */
.fiscal-journals-grid {
    height: calc(100vh - 265px);
}

/* Grid registre jurnal — rânduri compacte uniforme */
.fiscal-journals-grid .dxbl-grid-data-row > td {
    height: 40px;
    max-height: 40px;
    overflow: hidden;
}

/* Buton compact pentru celule de grid (ex: Trimite SPV per linie) */
.btn-spv-wrapper {
    width: fit-content;
    align-self: center;
}

.btn-spv-cell {
    white-space: nowrap;
    padding: 1px 8px;
    font-size: 0.8rem;
    height: 28px;
    line-height: 1;
}

.clickable-row {
    cursor: pointer !important;
}

.statusEInvoice {
    cursor: pointer !important;
}

.unclickable-row {
    cursor: default !important;
}

.adminGrid .dxbl-grid-table > tbody > tr,
.adminGrid .dxbl-grid-table > tfoot > tr,
.adminGrid .dxbl-grid-table > thead > tr {
    cursor: pointer;
}
/* Status facturi */
.einvoice-content-area a[status="ERRORIMPORT"],
.einvoice-content-area a[status="SENDEDERROR"],
.einvoice-content-area a[status="SENDEDDUPLICATE"],
.einvoice-content-area a[status="SENDEDPENDING"],
.einvoice-content-area a[status="NOARTICLE"],
.einvoice-content-area a[status="NOSUPPLIER"],
.einvoice-content-area a[status="TAXLINERESTRICTIONS"] {
    color: #b14833 !important;
}

.einvoice-content-area a[status="SENDEDSUCCESS"],
.einvoice-content-area a[status="RECEIVED"] {
    color: #729c62 !important;
}

.einvoice-content-area a[status="NOTSENDED"] {
    color: #cdc651 !important;
}

.statusEInvoice a[status="ERRORIMPORT"],
.statusEInvoice a[status="SENDEDERROR"],
.statusEInvoice a[status="SENDEDDUPLICATE"],
.statusEInvoice a[status="SENDEDPENDING"] {
    color: #b14833 !important;
}

.statusEInvoice a[status="SENDEDSUCCESS"] {
    color: #729c62 !important;
}

.statusEInvoice a[status="NOTSENDED"] {
    color: #cdc651 !important;
}
/* end status facturi */


/*culori scadenta facturi */
.daysUntilDue45red {
    color: #b14833 !important;
}

.daysUntilDue1green {
    color: #729c62 !important;
}

.daysUntilDue23yellow {
    color: #cdc651 !important;
}

.daysUntilDue-default {
    color: #000000 !important;
}

/* date picker */
.dxbl-calendar:not(.dxbl-disabled):not(:disabled) .dxbl-calendar-content > table > tbody > tr:not(.dxbl-calendar-days-of-week) td:not(.dxbl-calendar-disabled-item):not(.dxbl-calendar-week-number).dxbl-calendar-selected-range::before {
    background-color: var(--hoverBgColor) !important;
    color: #000 !important;
}

.dxbl-calendar .dxbl-calendar-content .dxbl-calendar-selected-item::before {
    background-color: #bbb !important;
}
/* end date picker */

.einvoice-content-area .dxbl-checkbox-checked .dxbl-image {
    background: var(--normalBgColor) !important;
    border: 0 !important;
}

.headerFilters .einvoice-content-area .dxbl-text-edit {
    padding: 5px 10px 5px 10px !important;
    margin: 10px 0px 10px 0px !important;
    width: fit-content;
}

.headerFilters .dxbl-checkbox.dxbl-checkbox-radio.dxbl-checkbox-checked > .dxbl-checkbox-check-element::after {
    background: var(--normalBgColor) !important;
}

.containerEfactura {
    overflow-x: auto;
    max-width: 100%;
}

.eInvoicePage,
.eTvaPage,
.safTPage,
.eTransportPage,
.fiscalReportsPage {
    display: flex;
    /*height: 100vh; */
}


.eInvoiceObs .dxbl-tabs-item {
    border: 1px solid #ccc !important;
}

.eInvoiceObs .dxbl-active {
    border-bottom: 1px solid #fff !important;
}

.eInvoiceObs .grid-container,
.dxbl-tabs-content.dxbl-active {
    margin-top: 0px !important;
    background-color: #fff;
    padding: 20px;
    border-radius: 0px 5px 5px 5px;
    margin-bottom: 30px;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc !important;
}

.obsText {
    font-weight: 100 !important;
}

.eInvoiceObs .dxbl-scroll-viewer-content {
    background: antiquewhite !important;
}

.eInvoiceObs .dxbl-tabs-item,
.eInvoiceObs .dxbl-tabs-item .dxbl-active {
    background: #fff !important;
}

.dxbl-filter-menu-dropdown .dxbl-dropdown-body {
    max-height: 300px;
}



.taxlines-grid {
    flex: 1;
    display: flex;
    flex-direction: column;
}

    .taxlines-grid td {
        max-height: 60px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.adminText.dxbl-text-edit {
}

.dxbl-pager-page-size-selector dxbl-combo-box {
    width: 8em !important;
}

.einvoice-content-area,
.safT-content-area,
.fiscalReports-content-area {
    flex-grow: 1;
    padding: 20px;
    width: calc(100% - 250px) !important;
    margin-top: 1%;
}

button.dxbl-btn-primary:disabled {
    background: #aaaaaa !important;
    border: 0;
}

button.dxbl-btn-primary:not(:disabled) {
    background: var(--normalBgColor) !important;
    border: 0;
}

    button.dxbl-btn-primary:not(:disabled):hover {
        background: var(--hoverBgColor) !important;
        border: 0;
    }

.dxbl-btn-outline-secondary[aria-current="page"] {
    background: var(--normalBgColor) !important;
}

.dxbl-toolbar .dxbl-btn-outline-secondary,
.dxbl-toolbar .dxbl-btn-outline-secondary:hover,
.dxbl-toolbar .dxbl-btn-outline-secondary:focus,
.dxbl-toolbar .dxbl-btn-outline-secondary:active,
.dxbl-toolbar .dxbl-btn-secondary,
.dxbl-toolbar .dxbl-btn-secondary:hover,
.dxbl-toolbar .dxbl-btn-secondary:focus,
.dxbl-toolbar .dxbl-btn-secondary:active {
    background-color: #e1e1e1 !important;
    border-color: #ccc !important;
}

.dxbl-pager-active-page-btn span {
    color: #fff !important;
}

.einvoice-content-area h1 {
    float: right;
    font-size: 1.5rem;
    margin-right: 20px;
}


.downloadButtons {
    display: flex;
    /*justify-content: center;*/
    align-items: flex-end;
    gap: 10px;
    background: var(--footerBgColor) !important;
    margin-top: 10px;
    border-radius: 0px 0px 20px 20px;
    padding: 5px;
}

.dxbl-upload-button-panel .dxbl-btn-outline-secondary {
    border: 1px solid var(--normalBgColor);
}

.downloadButtons button {
    margin-bottom: 5px !important;
}

.downloadButtons a {
    color: var(--textNormalColor) !important;
}

    .downloadButtons a:hover {
        text-decoration: none !important;
    }

.submenuIndent .dxbl-menu-item a,
.submenuIndent .dxbl-menu-item button {
    margin-left: 16px !important;
    /*font-weight: 100 !important;*/
    display: flex;
    align-items: flex-start;
}

.submenuIndent .dxbl-menu-item-text-container span {
    white-space: wrap !important;
}

.submenuIndentDeep .dxbl-menu-item a,
.submenuIndentDeep .dxbl-menu-item button {
    margin-left: 32px !important;
    display: flex;
    align-items: flex-start;
}

.submenuIndentDeep .dxbl-menu-item-text-container span {
    white-space: wrap !important;
}

/* ============================================================
   translations form (DxGrid + virtual scrolling)
   ------------------------------------------------------------
   Layout: flex column cu toolbar fix (reset + search) sus şi un
   DxGrid care îşi gestionează propriul scroll vertical intern.
   Virtual scrolling-ul DxGrid randează doar rândurile vizibile,
   ceea ce face UI-ul fluent inclusiv cu câteva mii de coduri.

   Lăţimea: containerul ocupă 100% din parent — marginile stânga/
   dreapta vin de la .globalAdminContainer (padding: 0 16px), aşa
   că rămân consistente cu butonul "Înapoi la Pagina de Start" şi
   cu celelalte tab-uri admin.
   ============================================================ */
.translationsContainer {
    width: 100%;
    box-sizing: border-box;
    padding: 20px !important;

    display: flex;
    flex-direction: column;
    height: calc(100vh - 290px);
    overflow: hidden;
}

    .translationsContainer dxbl-input-editor {
        margin: 3px;
    }

/* Toolbar cu butonul "Resetează cache" + câmpul de căutare şi butonul Search.
   Toate elementele pe acelaşi rând, aliniere verticală pe centru. */
.translations-toolbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

/* Buton "Resetează memoria cache a traducerilor" — stilizat identic cu
   .adminButton (butonul "Înapoi la Pagina de Start"): fundal cu tema,
   text alb pe span-ul interior (unde DxButton randează caption-ul).
   margin-left: auto într-un flex parent îl împinge complet în dreapta,
   păstrând search-ul şi bifa pe stânga. */
.translations-reset-btn {
    background: var(--normalBgColor) !important;
    border: 0 !important;
    white-space: nowrap;
    margin-left: auto;
}

    .translations-reset-btn span {
        color: #fff !important;
    }

    .translations-reset-btn:hover {
        background: var(--hoverBgColor) !important;
    }

/* Câmpul de input pentru căutare. Filtrare automată cu debounce (300ms)
   — nu mai există buton explicit, deci câmpul poate fi puţin mai lat. */
.translations-search-box {
    min-width: 320px;
    max-width: 500px;
}

/* Bifa "afişează doar netraduse" — păstrăm gap-ul faţă de câmpul de search
   prin gap-ul deja setat pe .translations-toolbar şi adăugăm un mic padding
   ca textul să nu fie lipit de bifă. */
.translations-untranslated-check {
    white-space: nowrap;
}

/* DxGrid-ul de traduceri ocupă spaţiul rămas din container.
   min-height: 0 e esenţial pentru ca grid-ul să nu se "umfle"
   peste limita flex parent-ului — fără el, virtual scrolling-ul
   nu funcţionează (DxGrid n-are constrângere verticală). */
.translations-grid {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

/* Inner table la 99% lăţime — DxGrid rezervă intern spaţiu pentru
   scrollbar orizontal chiar şi când nu e necesar. La 100% exact, el
   declanşează scrollbar-ul preventiv; la 99% are buffer-ul de care
   are nevoie ca să-l ascundă iniţial. Acelaşi pattern e folosit pe
   restul tab-urilor admin (.globalAdminPageContainer .grid-container).
   Scrollbar-ul orizontal apare totuşi cândnumai coloanele combinate
   depăşesc 99% din wrapper (resize Cod la maxim sau date prea late). */
.translations-grid .dxbl-grid-table {
    width: 99% !important;
    max-width: 99%;
}

.translations-grid .dxbl-grid-table-container,
.translations-grid .dxbl-scroll-viewer {
    overflow-x: auto;
    max-width: 100%;
}

/* Evidenţiere vizuală pentru celulele NETRADUSE (gol, !!COD!!, {{COD}}).
   Folosim un fundal galben pal pentru a atrage atenţia fără a fi agresiv.
   Box-shadow colorat înlocuieşte umbra default (gri) ca să marcăm clar
   celulele care necesită acţiune.

   CssClass pe DxTextBox în versiunea curentă de DevExpress se aplică pe
   elementul rădăcină .dxbl-text-edit. Acoperim trei pattern-uri:
     1. clasa direct pe .dxbl-text-edit
     2. clasa pe un wrapper care conţine .dxbl-text-edit
     3. clasa pe input direct
*/
.dxbl-text-edit.translations-cell-input--missing,
.translations-cell-input--missing .dxbl-text-edit,
.translations-cell-input--missing.dxbl-text-edit {
    background-color: #fff8d6 !important; /* galben pal (warning soft) */
    box-shadow: 0 0 0 1px #e6c200 inset, 0 2px 6px rgba(230, 194, 0, 0.25) !important;
}

.dxbl-text-edit.translations-cell-input--missing .dxbl-text-edit-input,
.translations-cell-input--missing .dxbl-text-edit-input,
.translations-cell-input--missing.dxbl-text-edit .dxbl-text-edit-input {
    background-color: transparent !important;
}

.labelEditRow {
    display: flex !important;
    align-items: center;
    justify-items: center;
    justify-content: space-between;
    padding: 5px;
}


    .labelEditRow dxbl-input-editor {
        min-width: 65%;
    }

/*
        left menu
    */

.menuCollapsed.modules-menu-left {
    width: 32px;
    padding: 3.5rem 0rem 2rem 0rem;
    border-radius: 0px 50px 50px 0px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    height: max-content;
    margin-top: 1%;
    background: var(--normalBgColor) !important;
    background-size: 100% 55px, 100% 100%;
    background-position: 0 0, 0 55px;
    background-repeat: no-repeat;
}

    .menuCollapsed.modules-menu-left .dxbl-menu-item-list {
        display: none !important;
    }

.modules-menu-left {
    width: 210px;
    padding: 3.5rem 0rem 0rem 0rem;
    border-radius: 0px 50px 50px 0px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    height: max-content;
    margin-top: 1%;
    /*     background-image: linear-gradient(var(--normalBgColor), var(--normalBgColor)), linear-gradient(var(--footerBgColor), var(--footerBgColor)) !important; */
    background-size: 100% 55px, 100% 100%;
    background-position: 0 0, 0 55px;
    background-repeat: no-repeat;
    z-index: 999 !important;
    position: sticky;
    background: #fff;
}

    .modules-menu-left dxbl-menu {
        background-color: transparent;
    }

    /*
    .modules-menu-left dxbl-menu-item:hover {
        background: var(--hoverBgColor) !important;
    }

*/

    .modules-menu-left button[data-selected] {
        background: var(--hoverBgColor) !important;
    }

.dxbl-grid-filter-menu-dropdown {
    max-height: 500px !important;
}

.dxbl-menu-title {
    background: var(--normalBgColor) !important;
    margin-bottom: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 1rem !important;
}

    .dxbl-menu-title:hover {
        background: var(--hoverBgColor) !important;
    }


.dxbl-menu-item a {
    margin-bottom: 5px;
    color: var(--normalBgColor) !important;
    cursor: pointer;
    padding: 3px 0px 3px 0px !important;
    /* font-weight: 600 !important;*/
}

    .dxbl-menu-item a:hover::before {
        background: transparent !important;
    }

    .dxbl-menu-item a:hover {
        margin-bottom: 5px;
        color: var(--hoverBgColor) !important;
        cursor: pointer;
    }

    .dxbl-menu-item a[selected] {
        color: var(--hoverBgColor) !important;
    }

.dxbl-menu-title::before {
    content: "";
    background-size: 100% 100%;
    display: inline-block;
    position: relative;
    bottom: 3px;
    vertical-align: middle;
    margin-right: 5px;
}

.einvoiceLeftMenu .dxbl-menu-title::before {
    background-image: url(/icons/efactura-icon.png);
    width: 16px;
    height: 20px;
}

.saftLeftMenu .dxbl-menu-title::before {
    background-image: url(/icons/saft-icon.png);
    width: 16px;
    height: 20px;
}

.etransportLeftMenu .dxbl-menu-title::before {
    background-image: url(/icons/etransport-icon.png);
    width: 16px;
    height: 20px;
}

.d394LeftMenu .dxbl-menu-title::before {
    background-image: url(/icons/d394-icon.png);
    width: 16px;
    height: 20px;
}

.etvaLeftMenu .dxbl-menu-title::before {
    background-image: url(/icons/etva-icon.png);
    width: 18px;
    height: 20px;
}

.einvoiceLeftMenu.menuOpen .dxbl-menu-title::before {
    background-image: url(/icons/efactura-icon.png);
    width: 24px;
    height: 30px;
}

.saftLeftMenu.menuOpen .dxbl-menu-title::before {
    background-image: url(/icons/saft-icon.png);
    width: 24px;
    height: 30px;
}

.etransportLeftMenu.menuOpen .dxbl-menu-title::before {
    background-image: url(/icons/etransport-icon.png);
    width: 24px;
    height: 30px;
}

.d394LeftMenu.menuOpen .dxbl-menu-title::before {
    background-image: url(/icons/d394-icon.png);
    width: 24px;
    height: 30px;
}

.etvaLeftMenu.menuOpen .dxbl-menu-title::before {
    background-image: url(/icons/etva-icon.png);
    width: 27px;
    height: 30px;
}

.menuOpen {
    margin-top: -55px;
    background: transparent !important;
}

    .menuOpen .dxbl-menu-title {
        border-radius: 0px 70px 0px 0px;
    }


.einvoice-content-area {
    width: calc(100% - 250px) !important;
}

.menuCollapseButton {
    border: 0;
    background: transparent;
    text-transform: uppercase;
    font-size: small;
    padding-top: 25px;
}

    .menuCollapseButton::before {
        content: "\00AB";
        font-size: 20px;
        padding-right: 5px;
    }

.menuCollapsed.modules-menu-left .menuCollapseButton::after {
    content: "\00BB";
    font-size: 20px;
    padding-right: 5px;
    color: #fff;
    padding-left: 5px;
}

.menuCollapsed.modules-menu-left .menuCollapseButton::before,
.menuCollapsed.modules-menu-left .menuCollapseButton span {
    display: none !important;
}

.menuCollapsed.modules-menu-left .menuCollapseButton::after {
    display: flex !important;
}

.menuCollapsed.modules-menu-left .menuOpen .dxbl-menu-title::before {
    width: 16px;
    height: 20px;
    margin-top: 0px;
}

.menuCollapsed.modules-menu-left .menuOpen {
    margin-top: 0;
    background: var(--hoverBgColor) !important;
}

    .menuCollapsed.modules-menu-left .menuOpen .dxbl-menu-title {
        background: var(--hoverBgColor) !important;
        margin-bottom: 0px;
    }

        .menuCollapsed.modules-menu-left .menuOpen .dxbl-menu-title:hover {
            border-radius: 0px !important;
        }

.styleXMLRequestSPV {
    white-space: pre-wrap;
    font-family: Consolas, monospace;
    font-size: 13px;
    overflow: auto;
    /*height: 100%;*/
    max-height: 80vh;
    padding: 10px;
}

.eInvoiceErrorMessage {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    max-height: 70vh;
    overflow-y: auto;
    padding: 16px 20px;
    color: #333;
}

.logErrorCell {
    display: block;
    white-space: normal;
    word-break: break-word;
    line-height: 1.5;
    cursor: pointer;
}

.toolbar_buttons {
    display: flex;
    /* flex-direction: column;*/
    gap: 0.5rem;
    padding-top: 20px;
}

.dxbl-grid-filter-menu-funnel-btn {
    padding: 2px 4px !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 12px !important;
    /*visibility: hidden !important;*/
    visibility: hidden;
    opacity: 0 !important;
    transition: opacity 0.2s ease;
}

.dxbl-grid-filter-menu-funnel-btn-filled {
    visibility: visible !important;
    opacity: 1 !important;
}

.dxbl-grid-header-content:hover .dxbl-grid-filter-menu-funnel-btn {
    visibility: visible !important;
    opacity: 1 !important;
}

.fieldComparisonGrid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
}

.headerRow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.headerCell {
    text-align: center;
}

.fieldRow {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
}

.fieldBlock {
    display: flex;
    flex-direction: column;
}

/* Container principal */
.search-fields-article {
    display: flex;
    gap: 2rem; /* Spațiu între blocuri */
    width: 100%;
    padding: 1rem;
}

/* Fiecare bloc de câmpuri */
.fields-article-block {
    flex: 1; /* Ocupă spațiu egal */
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Rânduri de câmpuri */
.fieldRowArticleSearch {
    display: flex;
    gap: 1rem;
    width: 100%;
}

/* Câmpuri individuale */
.fieldBlockArticleSearch {
    flex: 1; /* Câmpuri de lățime egală */
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}


.arrowBlock {
    display: flex;
    justify-content: center;
    align-items: center;
}

    .arrowBlock button {
        background: #212633;
        color: white;
        border: none;
        border-radius: 6px;
        padding: 6px 10px;
        font-size: 18px;
        cursor: pointer;
    }


.checkSupplierForm {
    max-height: 70vh !important;
    overflow: auto !important;
}

.articleSearchForm {
    max-height: 70vh !important;
    overflow: auto !important;
    padding: 2px;
}

.saveRow {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.message-inline {
    margin: 0;
    padding: 6px 12px;
    font-size: 14px;
}

.headerButtons {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.headerRight {
    padding-right: 60px;
}

.popupContent {
    margin-top: 10px;
}

.popUPButtons {
    margin-top: 20px;
}

dxbl-date-range-picker {
    width: max-content !important;
}




/* PROSTII - puse de mine ,ANDREEA !!- de CHECK - BOGDANEL */
.invoice-details-container {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* spațiu între rânduri */
    padding: 1rem;
}

.form-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.form-label {
    width: 180px; /* lățime fixă pentru aliniere */
    font-weight: 500;
}

.form-control {
    flex: 1;
}

.full-width {
    flex-direction: column;
    align-items: flex-start;
}

    .full-width .form-control {
        width: 100%;
    }



/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (max-width: 1400px) {
    .menu-btn {
        height: 40px;
    }

    .headerFilters {
        resize: both;
        flex-wrap: wrap;
    }
}

.totals-panel {
    display: flex;
    column-gap: 15px;
    margin-top: 10px;
}

    .totals-panel span {
        margin-bottom: 5px;
        background: #e1e1e1;
        padding: 2px 10px 2px 10px;
        border-radius: 2px;
        border: 1px solid #ccc;
        font-size: 14px;
    }

.message-area {
    margin: 15px 0; /* spațiu sus și jos între filtre/grid */
    padding: 12px 16px; /* spațiu interior pentru text */
    border: 1px solid #d1d5db; /* gri deschis, ca la borduri standard */
    border-radius: 8px; /* colțuri rotunjite */
    background-color: #f9fafb; /* fundal alb-gri foarte deschis */
    color: #374151; /* text gri închis */
    font-size: 14px; /* dimensiune text consistentă */
    line-height: 1.4;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* umbră discretă */
}

.userTokenConfig .ANAFtokenDates {
    display: flex;
    flex-direction: column; /* pune elementele unul sub altul */
    gap: 4px; /* spațiu între etichete (opțional) */
}

    .userTokenConfig .ANAFtokenDates label {
        display: block;
        font-weight: 500; /* opțional, pentru o prezentare mai clară */
    }

.disabled-checkbox {
    opacity: 0.5;
}

.text-muted {
    color: #6c757d;
}

.badge-info {
    background-color: #17a2b8;
    color: white;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}

.ms-2 {
    margin-left: 0.5rem;
}

.burger-menu {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1002;
    position: relative;
}

    .burger-menu span {
        display: block;
        width: 25px;
        height: 3px;
        background: #333;
        border-radius: 3px;
        transition: all .3s ease;
        position: absolute;
    }

        .burger-menu span:first-child {
            top: 8px;
        }

        .burger-menu span:nth-child(2) {
            top: 14px;
        }

        .burger-menu span:last-child {
            top: 20px;
        }

    .burger-menu.active span:first-child {
        top: 14px;
        transform: rotate(45deg);
    }

    .burger-menu.active span:nth-child(2) {
        opacity: 0;
    }

    .burger-menu.active span:last-child {
        top: 14px;
        transform: rotate(-45deg);
    }

.mobile-menu-container {
    display: flex;
    align-items: center;
    gap: 2rem;
}

@media (max-width: 768px) {
    .burger-menu {
        display: flex;
        z-index: 1002;
        position: relative;
    }

    .mobile-menu-container {
        position: static;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        background: white;
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        padding: 0 2rem;
        gap: 2rem;
        transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    }

        .mobile-menu-container.active {
            max-height: 600px;
            padding: 2rem;
        }

    .site-header .nav {
        flex-wrap: wrap;
    }

    .mobile-menu-container {
        flex: 1 0 100%;
        order: 3;
    }

    .nav-links {
        flex-direction: column;
        gap: 1rem;
    }

        .nav-links a {
            padding: 0.75rem 0;
            border-bottom: 1px solid #eee;
            display: block;
        }

    .nav-links-right {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
    }

    .nav-cta {
        width: 100%;
        padding: 0.75rem;
    }

    .contacts {
        padding: 0.75rem 0;
        text-align: center;
        display: block;
    }

    .user-controls.presentation-page-language {
        position: static;
        padding: 0;
        margin-top: 1rem;
    }

    body.menu-open {
        overflow: auto;
    }
}


/* -------------------- user manual -------------------- */

.userManualContent {
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px 40px 100px 40px;
    overflow-y: auto;
    height: calc(100vh - 70px);
    font-family: 'Segoe UI', sans-serif;
}

    .userManualContent h1 {
        color: var(--normalBgColor);
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 5px;
        float: none !important;
    }

.userManualSubtitle {
    color: #555;
    font-size: 1.05rem;
    margin-bottom: 30px;
}

.userManualToc {
    background: #f1f1f1;
    border-left: 4px solid var(--normalBgColor);
    border-radius: 0px 10px 10px 0px;
    padding: 20px 30px;
    margin-bottom: 35px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

    .userManualToc h2 {
        color: var(--normalBgColor);
        font-size: 1.1rem;
        font-weight: 700;
        margin-bottom: 10px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: none;
        margin-top: 0;
        padding-bottom: 0;
    }

    .userManualToc ol {
        margin: 0;
        padding-left: 20px;
    }

    .userManualToc li {
        margin-bottom: 4px;
        font-size: 0.95rem;
        color: #444;
    }

    .userManualToc a {
        color: var(--normalBgColor) !important;
        text-decoration: none;
        cursor: pointer;
        transition: color 0.2s;
    }

        .userManualToc a:hover {
            color: var(--hoverBgColor) !important;
            text-decoration: underline;
        }

.userManualContent h2 {
    color: var(--normalBgColor);
    font-size: 1.4rem;
    font-weight: 700;
    margin-top: 35px;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--normalBgColor);
    float: none !important;
}

.userManualContent h3 {
    color: #303C49;
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 8px;
}

.userManualContent p {
    line-height: 1.7;
    color: #444;
    margin-bottom: 10px;
}

.userManualContent ul,
.userManualContent ol {
    padding-left: 25px;
    margin-bottom: 12px;
}

.userManualContent li {
    line-height: 1.7;
    color: #444;
    margin-bottom: 4px;
}

.userManualContent strong {
    color: #303C49;
}

.userManualContent hr {
    border: none !important;
    border-top: 1px solid #ddd !important;
    margin: 30px 0 !important;
}

.userManualFootnote {
    color: #888;
    font-size: 0.88rem;
    text-align: center;
    padding-top: 10px;
}

.userManualScreenshot {
    display: block;
    max-width: 100%;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    margin: 16px 0 24px 0;
}

/* -------------------- end user manual -------------------- */

/* -------------------- context help -------------------- */
.context-help-btn {
    position: fixed;
    bottom: 80px;
    right: 24px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--normalBgColor, #3498db);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    z-index: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.context-help-btn:hover {
    background: var(--hoverBgColor, #2980b9);
}

.helpPopup .help-content {
    padding: 16px;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #333;
    max-width: 600px;
}

.helpPopup .help-content h1,
.helpPopup .help-content h2,
.helpPopup .help-content h3 {
    margin: 12px 0 6px 0;
}

.helpPopup .help-content ol,
.helpPopup .help-content ul {
    padding-left: 20px;
    margin: 8px 0;
}

.helpPopup .help-content li {
    margin-bottom: 4px;
}

.contextHelpAdmin .adminText {
    width: 100%;
}

.contextHelpAdmin .dxbl-memo {
    min-height: 180px;
}

.helpImgRow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding: 6px;
    background: rgba(0,0,0,0.04);
    border-radius: 8px;
}

.helpImgThumb {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.helpImgCaption {
    flex: 1;
    font-size: 0.88rem;
    color: #555;
}

.help-screenshot {
    margin: 12px 0;
}

.help-screenshot img {
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    transition: transform 0.2s;
}

.help-screenshot figcaption {
    font-size: 0.85rem;
    color: #777;
    margin-top: 4px;
    text-align: center;
}

.help-screenshot img.enlarged {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90vw;
    max-height: 90vh;
    z-index: 9999;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5);
}
/* -------------------- end context help -------------------- */

/* -------------------- maintenance page -------------------- */
.maintenance-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f2f5;
    font-family: 'Segoe UI', 'Hind', sans-serif;
}

.maintenance-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    padding: 60px 80px;
    text-align: center;
    max-width: 600px;
    width: 90%;
}

.maintenance-icon {
    font-size: 72px;
    animation: maintSpin 6s linear infinite;
    display: inline-block;
    margin-bottom: 20px;
}

@keyframes maintSpin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.maintenance-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
}

.maintenance-message {
    font-size: 1rem;
    color: #555;
    margin-bottom: 10px;
    line-height: 1.6;
}

.maintenance-period {
    margin-top: 24px;
    padding: 12px 24px;
    background: #f8f9fa;
    border-radius: 10px;
    font-size: 0.95rem;
    color: #444;
    font-weight: 600;
    display: inline-block;
}

/* Containerul principal care grupează toate bannerele */
.maintenance-banner-wrapper {
    position: fixed; /* Rămâne fix la scroll */
    bottom: 50px;
    left: 0;
    width: 100%;
    z-index: 9999; /* Se asigură că apare peste orice element */
    display: flex;
    flex-direction: column;
    gap: 2px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Stilul de bază pentru un banner */
.maintenance-banner {
    position: relative; /* Esențial pentru poziționarea absolută a butonului */
    display: flex;
    align-items: center;
    padding: 10px 45px 10px 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    backdrop-filter: blur(5px); /* Efect de sticlă modern */
}

.maintenance-banner__close {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: currentColor; /* Preia culoarea textului din banner (roșu sau maro) */
    opacity: 0.6;
    transition: opacity 0.2s ease;
    line-height: 1;
    padding: 5px;
}

    .maintenance-banner__close:hover {
        opacity: 1;
    }

/* Diferențiere culori în funcție de status */
.maintenance-banner--active {
    background-color: rgba(255, 235, 238, 0.95); /* Roșu pal transparent */
    color: #c62828;
    border-left: 5px solid #d32f2f;
}

.maintenance-banner--scheduled {
    background-color: rgba(255, 248, 225, 0.95); /* Galben pal transparent */
    color: #856404;
    border-left: 5px solid #ffc107;
}

/* Elemente interne */
.maintenance-banner__icon {
    margin-right: 15px;
    font-size: 18px;
}

.maintenance-banner__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.maintenance-banner__time {
    font-weight: bold;
    background: rgba(255,255,255,0.5);
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 10px;
}

.maintenance-banner__desc {
    font-style: italic;
    opacity: 0.8;
}

/* -------------------- end maintenance page -------------------- */

/* -------------------- D394 Summary -------------------- */
.d394-summary-container {
    padding: 16px;
    max-width: 100%;
}

.d394-section {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    margin-bottom: 20px;
    overflow: hidden;
}

.d394-section-title {
    background: var(--normalBgColor);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 16px;
    letter-spacing: 0.3px;
}

/* D300 Summary — sub-header row inside grid (intracom / livrari interne) */
.d300-subheader > td {
    background-color: #f1f3f5 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 12px;
    color: #495057;
    letter-spacing: 0.4px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* D300 Summary — total row (Rd. 19, 35, 45) */
.d300-total-row > td {
    font-weight: 700 !important;
    background-color: #fff3cd !important;
    border-top: 2px solid #ffc107 !important;
}

/* D300 Summary — input simplu pe Rd. 31 (editabil in grid) */
.d300-r31-edit {
    width: 90px;
    text-align: right;
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: inherit;
}
.d300-r31-edit::-webkit-outer-spin-button,
.d300-r31-edit::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.d300-r31-edit {
    -moz-appearance: textfield;
}

/* D300 Summary — Sinteza facturi: label lung + 3 inputuri pe rand */
.sinteza-facturi-row {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 16px;
    align-items: end;
    padding: 8px 0;
    border-bottom: 1px solid #f1f3f5;
}

.sinteza-facturi-row:last-child {
    border-bottom: none;
}

.sinteza-facturi-label {
    font-size: 12px;
    font-weight: 600;
    color: #495057;
    line-height: 1.4;
    padding-bottom: 6px;
}

.sinteza-facturi-cells {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
}

/* D300 Summary — Informatii TVA neexigibila / nedeductibila */
.neexig-subheader {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    color: #495057;
    background-color: #f1f3f5;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 8px;
    line-height: 1.4;
}

.neexig-table {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.neexig-row {
    display: grid;
    grid-template-columns: 50px 1fr 180px 180px;
    gap: 12px;
    align-items: center;
    padding: 6px 8px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #fff;
}

.neexig-header-row {
    background-color: #f8f9fa;
    padding: 6px 8px;
    border: none;
}

.neexig-code {
    font-weight: 700;
    text-align: center;
    color: #495057;
    font-size: 13px;
}

.neexig-label {
    font-size: 12px;
    color: #495057;
    line-height: 1.4;
}

.neexig-vanzari-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* Header no-wrap pentru gridurile cu multe coloane (Sumar pe parteneri, Sumar centralizat) */
.d394-nowrap-header .dxbl-grid-header-cell {
    white-space: nowrap;
}

.d394-subsection-title {
    background: var(--footerBgColor);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    padding: 7px 16px;
    border-bottom: 1px solid var(--normalBgColor);
}

.tip-desc {
    font-weight: 400;
    color: #555;
    font-size: 12px;
    margin-left: 6px;
}

.d394-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .d394-table th {
        background: #f5f7fa;
        color: #333;
        font-weight: 600;
        padding: 7px 12px;
        border-bottom: 2px solid #dee2e6;
        border-right: 1px solid #dee2e6;
        white-space: nowrap;
    }

    .d394-table td {
        padding: 6px 12px;
        border-bottom: 1px solid #f0f0f0;
        border-right: 1px solid #f0f0f0;
        vertical-align: top;
    }

    .d394-table .col-nr {
        width: 60px;
    }

    .d394-table .col-xml {
        width: 160px;
    }

    .d394-table .col-val {
        width: 100px;
    }

    .d394-table code {
        background: #f0f4ff;
        color: var(--normalBgColor);
        padding: 1px 5px;
        border-radius: 3px;
        font-size: 12px;
    }

    .d394-table tr:hover td {
        background: #f9fbff;
    }

    .d394-table .row-highlight td {
        background: #fffbe6;
    }

    .d394-table .row-total td {
        background: #f0f4f8;
        border-top: 2px solid var(--normalBgColor);
    }

    .d394-table.mt-1 {
        margin-top: 6px;
    }

    .d394-loading-wrapper { height: 120px; display: flex; align-items: center; justify-content: center; }
    .d394-info-grid-wrapper { height: 420px; overflow-y: auto; }
    .d394-info-grid-wrapper thead tr { position: sticky; top: 0; z-index: 1; }

/* -------------------- end D394 Summary -------------------- */

/* -------------------- D394 menu toggle -------------------- */
.d394-toggle {
    cursor: pointer;
    position: relative;
}

.d394-toggle::after {
    content: '\25B8'; /* ▸ */
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    opacity: 0.65;
    transition: transform 0.2s ease;
    pointer-events: none;
}

.d394-toggle--open::after {
    transform: translateY(-50%) rotate(90deg);
}
/* -------------------- end D394 menu toggle -------------------- */

/* -------------------- loading placeholders -------------------- */
.loading-placeholder-sm {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-placeholder-lg {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.article-extra-info-required {
    border: 1px solid #dc3545;
    border-radius: 4px;
    padding: 2px 4px;
}

.required-asterisk {
    color: #dc3545;
    margin-left: 4px;
    font-weight: bold;
}

.dxbl-grid-header-cell,
.dxbl-grid-header-cell *,
.dxbl-grid th,
.dxbl-grid th *,
.dxbl-grid thead th,
.dxbl-grid thead th * {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3;
}

.dxbl-grid-header-cell {
    min-width: 80px !important;
}

/* Toast notification container */
.toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 360px;
    pointer-events: none;
}

.toast-item {
    padding: 0.75rem 1.25rem;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    color: #fff;
    font-size: 0.875rem;
    line-height: 1.4;
    animation: toast-slide-in 0.25s ease-out;
}

.toast-item.success { background-color: #28a745; }
.toast-item.error   { background-color: #dc3545; }
.toast-item.info    { background-color: #17a2b8; }

@keyframes toast-slide-in {
    from { opacity: 0; transform: translateX(120%); }
    to   { opacity: 1; transform: translateX(0); }
}
