/*
   Parteneri: lista (/Parteneri), dialogul de adaugare si alegerea unui partener existent. Clase prefixate partener-;
   culorile vin doar din var(--mud-palette-*), ca totul sa urmeze tema deschisa/intunecata.
*/

/* text-primary fara transparenta (tema intunecata are alfa 0,7): polul de contrast pentru textul tintat */
:root {
    --partener-pol: var(--mud-palette-text-primary);
}

@supports (color: rgb(from red r g b / 1)) {
    :root {
        --partener-pol: rgb(from var(--mud-palette-text-primary) r g b / 1);
    }
}

/* ---------- Celula nume (avatar cu initiale + denumire + nr. Reg. Com.) ---------- */
.partener-nume-celula {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.mud-avatar.partener-avatar {
    flex: 0 0 auto;
    color: color-mix(in srgb, var(--mud-palette-primary) 55%, var(--partener-pol));
    background-color: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
}

.partener-nume-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.partener-nume-text > * {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.partener-nume-principal {
    font-weight: 500;
}

.partener-num {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.partener-trunchiat {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------- Grile ---------- */
.partener-grid.mud-table {
    background-color: transparent;
}

.partener-nume-lipsa {
    font-style: italic;
    font-weight: 400;
    color: var(--mud-palette-text-secondary);
}

/* Sub 600 px MudDataGrid stivuieste celulele (reguli .mud-xs-table din MudBlazor, sub acelasi media query; clasa e pusa
   mereu): td display:flex intr-un tr display:revert, pe care browserul le grupeaza intr-o singura celula anonima cu
   latimea primei coloane din ColGroup. Pe card ColGroup se scoate, iar textul se infasoara in loc sa latasca tabelul. */
@media (min-width: 600px) {
    .partener-grid .mud-table-root {
        table-layout: fixed;
    }
}

@media (max-width: 599.98px) {
    .partener-grid colgroup {
        display: none;
    }

    .partener-grid .mud-table-cell > * {
        min-width: 0;
    }

    .partener-grid .partener-trunchiat,
    .partener-grid .partener-nume-text > * {
        white-space: normal;
        text-align: right;
    }
}

.partener-grid .mud-table-head .mud-table-cell {
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    background-color: var(--mud-palette-surface);
}

.partener-grid .mud-table-body .mud-table-row {
    cursor: pointer;
}

.partener-grid.mud-table-dense .mud-table-body .mud-table-cell {
    padding-top: 6px;
    padding-bottom: 6px;
}

.partener-indicatori {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    overflow: hidden;
}

.partener-indicatori .mud-chip {
    margin: 0;
    flex: 0 0 auto;
}

.partener-antimita.mud-icon-root {
    color: color-mix(in srgb, var(--mud-palette-success) 35%, var(--partener-pol)) !important;
}

/* ---------- Pagina /Parteneri ---------- */
.parteneri-pagina {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.parteneri-antet {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.parteneri-antet-titlu {
    display: flex;
    flex-direction: column;
    margin-right: auto;
}

.parteneri-antet .mud-input-control.parteneri-cautare {
    flex: 0 1 380px;
    min-width: 220px;
    margin: 0;
}

/* grila umple restul paginii; containerul ei e singurul scroller (necesar si pentru virtualizare) */
.parteneri-tabel.mud-paper {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.parteneri-tabel > .mud-table {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.parteneri-tabel > .mud-table > .mud-table-container {
    flex: 1 1 auto;
    min-height: 0;
}

@media (max-width: 959px) {
    .parteneri-antet .mud-input-control.parteneri-cautare {
        flex: 1 1 100%;
        order: 3;
    }
}

/* ---------- Dialoguri ----------
   Apelantii deschid dialogurile fara optiuni (implicit MaxWidth Small, fara FullWidth, care strange dialogul dupa
   continut) sau cu optiunile CRM; latimea se fixeaza aici, astfel ca arata la fel din orice apelant. */
.mud-dialog.partener-dialog:not(.mud-dialog-fullscreen) {
    width: calc(100% - 32px);
    max-width: 640px;
}

.mud-dialog.partener-alege-dialog:not(.mud-dialog-fullscreen) {
    width: calc(100% - 32px);
    max-width: 1000px;
}

.partener-dialog-titlu {
    display: flex;
    align-items: center;
    gap: 12px;
}

.partener-dialog-titlu .mud-avatar {
    color: color-mix(in srgb, var(--mud-palette-primary) 55%, var(--partener-pol));
    background-color: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
}

.mud-typography.partener-grup-titlu {
    margin: 20px 0 4px;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .75rem;
}

.partener-camp-cui {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 12px;
}

.partener-camp-cui > .mud-input-control {
    flex: 1 1 220px;
    min-width: 0;
}

.partener-camp-cui > .mud-button-root {
    flex: 0 0 auto;
    margin-top: 12px;
}

.partener-stare-fiscala {
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
    margin-left: -12px;
}
