h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "A apărut o eroare."
    }

/* Fix preluat din LibConX: popup-ul MudDatePicker isi pastreaza latimea
   naturala, indiferent de latimea (restransa) a inputului ancora. */
.mud-picker-popover-paper {
    max-width: none !important;
}

/* Campurile formularelor SSR statice (login, schimbare parola): InputText
   simplu, nu MudTextField (vezi CLAUDE.md). Stil preluat din LibConX. */
.login-field {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #c4c9d1;
    border-radius: 4px;
    font-size: 1rem;
    box-sizing: border-box;
}

    .login-field:focus {
        outline: none;
        border-color: #0F2F55;
        box-shadow: 0 0 0 2px rgba(15, 47, 85, 0.2);
    }

.secret-value input {
    font-family: Consolas, "Courier New", monospace;
}

/* Text lung ales de apelant, in liste (Log API): o singura linie, trunchiata;
   textul intreg e in atributul title al elementului. */
.log-api-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Forma mascata a unei linii MT940 (registrul formelor nerecunoscute): cu
   sfarsiturile de linie ale campului, rupta la latimea dialogului. */
.mt940-form-shape {
    white-space: pre-wrap;
    word-break: break-all;
    font-size: 0.8rem;
    background: rgba(0, 0, 0, 0.04);
    padding: 8px;
    margin: 4px 0 16px 0;
}

/* Tabelul statisticilor pe client (pagina unui modul): multe coloane de cifre, deci celule
   mai stranse si fara rupere de rand; la ferestre inguste tabelul se deruleaza orizontal. */
.module-stats-table .mud-table-cell {
    padding: 6px 10px;
    white-space: nowrap;
}
