/* ===== Base ===== */
html, body {
    font-family: "Inter", "Segoe UI", Roboto, sans-serif;
}

h1:focus {
    outline: none;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "Ocorreu um erro.";
    }

/* Calendário dos pickers (data/hora): o MudBlazor repassa o Style do componente também
   ao papel do popover, então um Style="max-width:160px" usado para estreitar o campo
   cortava o calendário (que tem 310px). O limite continua valendo só para o campo. */
.mud-picker-popover-paper {
    max-width: none !important;
}

/* ===== Marca ===== */
.eo-marca-selo {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, #D9A84E, #B8862E);
    color: #0F2B46;
    font-weight: 800;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.eo-marca {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 20px 16px;
    color: #fff;
    text-decoration: none;
}

.eo-marca-texto {
    font-weight: 700;
    letter-spacing: .04em;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

    .eo-marca-texto small {
        font-weight: 500;
        font-size: .7rem;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: #D9A84E;
    }

/* ===== Layout principal ===== */
.eo-appbar {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.eo-serventia {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    margin-left: 8px;
    min-width: 0;
}

.eo-serventia-nome {
    font-weight: 600;
    font-size: .95rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.eo-serventia-detalhe {
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

/* Busca de telas e rotinas no topo (Ctrl+K). */
.eo-busca {
    width: 380px;
    max-width: 40vw;
    margin: 0 12px;
}

.eo-busca .mud-input-outlined {
    background: var(--mud-palette-surface);
}

.eo-busca-item {
    line-height: 1.25;
    min-width: 0;
}

.eo-busca-caminho {
    font-size: .75rem;
}

@media (max-width: 600px) {
    .eo-busca {
        width: 160px;
        margin: 0 4px;
    }
}

.eo-usuario {
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border-radius: 999px;
    cursor: pointer;
}

    .eo-usuario:hover {
        background: var(--mud-palette-action-default-hover);
    }

.eo-usuario-nome {
    font-size: .875rem;
    font-weight: 500;
}

.eo-usuario-menu {
    padding: 12px 16px;
    min-width: 220px;
}

.eo-nav {
    padding: 0 8px;
}

.eo-nav-secao {
    margin: 20px 12px 6px;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
}

.eo-nav .mud-nav-link.active,
.eo-nav .mud-nav-link.active:not(.mud-nav-link-disabled) {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
}

    .eo-nav .mud-nav-link.active .mud-nav-link-icon {
        color: #D9A84E;
    }

@media (max-width: 600px) {
    .eo-usuario-nome, .eo-serventia-detalhe {
        display: none;
    }
}

/* ===== Páginas ===== */
.eo-cabecalho {
    display: flex;
    align-items: center;
    gap: 16px;
}

.eo-titulo {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 2px 0 4px;
    color: var(--mud-palette-text-primary);
}

.eo-painel {
    border: 1px solid var(--mud-palette-lines-default);
    height: 100%;
}

/* Painéis empilhados na mesma coluna: cada um com a altura do conteúdo (com 100%, o primeiro ocupava a coluna e o seguinte transbordava
   por cima do que vem abaixo). O painel sozinho na coluna continua com 100%, para os quadros lado a lado terem a mesma altura. */
.eo-painel:not(:only-child) {
    height: auto;
}

.eo-dados {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 8px 20px;
    margin: 0;
    font-size: .9rem;
}

    .eo-dados dt {
        color: var(--mud-palette-text-secondary);
    }

    .eo-dados dd {
        margin: 0;
        color: var(--mud-palette-text-primary);
        overflow-wrap: anywhere;
    }

.eo-timeline .mud-timeline-item-content {
    padding-top: 2px;
}

/* ===== Cartões de atribuição ===== */
.eo-card-atribuicao {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s, transform .15s;
    height: 100%;
}

a.eo-card-atribuicao:hover,
a.eo-card-atribuicao:focus-visible {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 6px 20px rgba(15, 43, 70, .10);
    transform: translateY(-1px);
    outline: none;
}

/* Painel de módulo: seções na ordem do trabalho e cartões compactos para os cadastros. */
.eo-busca-modulo {
    max-width: 560px;
}

.eo-secao-modulo {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 28px 0 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-primary);
}

    .eo-secao-modulo .mud-icon-root {
        align-self: center;
    }

.eo-secao-nome {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.eo-secao-resumo {
    font-size: .8rem;
    color: var(--mud-palette-text-secondary);
}

.eo-card-atribuicao.eo-card-compacto {
    padding: 10px 12px;
    gap: 10px;
}

    .eo-card-atribuicao.eo-card-compacto .eo-card-icone {
        width: 34px;
        height: 34px;
    }

    .eo-card-atribuicao.eo-card-compacto .eo-card-descricao {
        display: none;
    }

/* Menu lateral: subgrupos (seções do módulo) um pouco recuados. */
.eo-nav .eo-nav-subgrupo .mud-nav-link {
    padding-left: 28px;
}

.eo-card-atribuicao.eo-bloqueada {
    opacity: .55;
    cursor: not-allowed;
}

.eo-card-icone {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(var(--mud-palette-primary-rgb), .10);
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.eo-card-icone-grande {
    width: 56px;
    height: 56px;
}

.eo-card-corpo {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.eo-card-sigla {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--mud-palette-tertiary);
}

.eo-card-nome {
    font-weight: 600;
    font-size: .95rem;
}

.eo-card-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

    .eo-card-status .mud-icon-root {
        font-size: .95rem;
    }

    .eo-card-status.eo-liberada {
        color: var(--mud-palette-success);
        font-weight: 600;
    }

/* ===== Login (SSR estático: não depende do tema do MudBlazor) ===== */
.eo-login {
    --eo-fundo: #F4F6F9;
    --eo-card: #FFFFFF;
    --eo-texto: #1F2A37;
    --eo-texto-2: #5B6B7F;
    --eo-borda: #D5DCE5;
    --eo-primaria: #1E4E79;
    --eo-primaria-hover: #173E61;
    --eo-erro-fundo: #FDECEC;
    --eo-erro-texto: #A42222;
    display: grid;
    grid-template-columns: minmax(320px, 44%) 1fr;
    min-height: 100vh;
    background: var(--eo-fundo);
    color: var(--eo-texto);
}

@media (prefers-color-scheme: dark) {
    .eo-login {
        --eo-fundo: #0F161E;
        --eo-card: #16202B;
        --eo-texto: #E6EBF1;
        --eo-texto-2: #9AA8B8;
        --eo-borda: #2B3846;
        --eo-primaria: #4F8BC4;
        --eo-primaria-hover: #6EA8DC;
        --eo-erro-fundo: #3A1D1D;
        --eo-erro-texto: #F3A6A6;
    }
}

.eo-login-painel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px 48px;
    color: #fff;
    background: radial-gradient(circle at 15% 85%, rgba(217,168,78,.18), transparent 45%), linear-gradient(160deg, #0F2B46 0%, #1E4E79 100%);
}

.eo-login-marca {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}

.eo-login-chamada h2 {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 12px;
    max-width: 18ch;
}

.eo-login-chamada p {
    color: rgba(255,255,255,.75);
    margin: 0 0 24px;
    max-width: 40ch;
}

.eo-login-atribuicoes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

    .eo-login-atribuicoes li {
        padding: 6px 12px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.25);
        font-size: .8rem;
        color: rgba(255,255,255,.9);
    }

.eo-login-rodape {
    color: rgba(255,255,255,.5);
}

.eo-login-conteudo {
    display: grid;
    place-items: center;
    padding: 32px 16px;
}

.eo-login-card {
    width: 100%;
    max-width: 400px;
    background: var(--eo-card);
    border: 1px solid var(--eo-borda);
    border-radius: 16px;
    padding: 36px 32px;
    box-shadow: 0 12px 40px rgba(15, 43, 70, .08);
}

.eo-login-titulo {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 6px;
}

.eo-login-sub {
    color: var(--eo-texto-2);
    font-size: .9rem;
    margin: 0 0 24px;
}

.eo-form {
    display: flex;
    flex-direction: column;
}

    .eo-form label {
        font-size: .82rem;
        font-weight: 600;
        margin: 12px 0 6px;
    }

.eo-input {
    font: inherit;
    font-size: 1rem;
    padding: 11px 14px;
    border-radius: 10px;
    border: 1px solid var(--eo-borda);
    background: var(--eo-card);
    color: var(--eo-texto);
    transition: border-color .15s, box-shadow .15s;
}

    .eo-input:focus {
        outline: none;
        border-color: var(--eo-primaria);
        box-shadow: 0 0 0 3px rgba(30, 78, 121, .18);
    }

.eo-maiusculas {
    text-transform: uppercase;
}

.eo-codigo {
    font-size: 1.5rem;
    letter-spacing: .4em;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.eo-validacao, .eo-form .validation-message {
    color: var(--eo-erro-texto);
    font-size: .8rem;
    margin-top: 4px;
}

.eo-botao {
    margin-top: 24px;
    font: inherit;
    font-weight: 600;
    font-size: 1rem;
    padding: 12px;
    border: 0;
    border-radius: 10px;
    background: var(--eo-primaria);
    color: #fff;
    cursor: pointer;
    transition: background .15s;
}

    .eo-botao:hover {
        background: var(--eo-primaria-hover);
    }

    .eo-botao:focus-visible {
        outline: 3px solid rgba(30, 78, 121, .35);
        outline-offset: 2px;
    }

    /* Enviando (js/formulario.js): o segundo clique não envia de novo. */
    .eo-botao:disabled {
        background: var(--eo-primaria);
        opacity: .7;
        cursor: progress;
    }

.eo-link {
    margin-top: 16px;
    text-align: center;
    font-size: .85rem;
    color: var(--eo-texto-2);
}

.eo-alerta {
    background: var(--eo-erro-fundo);
    color: var(--eo-erro-texto);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: .875rem;
    margin-bottom: 8px;
}

@media (max-width: 860px) {
    .eo-login {
        grid-template-columns: 1fr;
    }

    .eo-login-painel {
        padding: 24px 16px;
        gap: 16px;
    }

    .eo-login-chamada h2 {
        font-size: 1.35rem;
    }

    .eo-login-chamada p, .eo-login-atribuicoes, .eo-login-rodape {
        display: none;
    }

    .eo-login-card {
        padding: 28px 20px;
    }
}

/* ===== Cadastros ===== */
.eo-cabecalho-cadastro {
    flex-wrap: wrap;
}

.eo-cabecalho-texto {
    min-width: 0;
}

.eo-trilha {
    font-size: .8rem;
}

    .eo-trilha .mud-breadcrumb-item a {
        color: var(--mud-palette-text-secondary);
    }

.eo-cabecalho-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eo-barra-filtro {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.eo-busca {
    max-width: 360px;
    flex: 1 1 220px;
}

.eo-campo-medio {
    max-width: 320px;
    flex: 0 1 280px;
}

.eo-nowrap {
    white-space: nowrap;
}

.eo-filtro-uf, .eo-filtro-setor {
    max-width: 280px;
    flex: 0 1 220px;
}

.eo-ano {
    max-width: 96px;
    flex: 0 0 96px;
}

    .eo-ano input {
        text-align: center;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
    }

.eo-acoes {
    text-align: right;
    white-space: nowrap;
    width: 1%;
}

.eo-linha-clicavel {
    cursor: pointer;
}

.eo-card-descricao {
    font-size: .8rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

/* Authenticator */
.eo-qrcode {
    border-radius: 12px;
    border: 1px solid var(--mud-palette-lines-default);
    background: #fff;
    padding: 8px;
}

.eo-chave {
    display: inline-block;
    margin-top: 4px;
    font-size: .85rem;
    letter-spacing: .06em;
    user-select: all;
}

.eo-campo-codigo input {
    font-size: 1.4rem;
    letter-spacing: .35em;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* Acessos */
.eo-lista-usuarios {
    max-height: 62vh;
    overflow-y: auto;
    padding: 0 8px 8px;
}

.eo-item-usuario {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: left;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    cursor: pointer;
}

    .eo-item-usuario:hover {
        background: var(--mud-palette-action-default-hover);
    }

    .eo-item-usuario:focus-visible {
        outline: 2px solid var(--mud-palette-primary);
        outline-offset: -2px;
    }

    .eo-item-usuario.eo-selecionado {
        background: rgba(var(--mud-palette-primary-rgb), .12);
    }

.eo-item-usuario-nome {
    font-weight: 500;
    font-size: .9rem;
}

.eo-item-usuario-login {
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
}

.eo-transferencia {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: stretch;
}

.eo-transferencia-botoes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}

.eo-lista-rotinas {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    min-width: 0;
}

.eo-lista-rotinas-titulo {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px 4px 4px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.eo-lista-rotinas-corpo {
    max-height: 46vh;
    overflow-y: auto;
}

.eo-rotina {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 12px 0 4px;
    font-size: .85rem;
}

    .eo-rotina:hover {
        background: var(--mud-palette-action-default-hover);
    }

.eo-rotina-codigo {
    min-width: 3.5ch;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
    .eo-transferencia {
        grid-template-columns: 1fr;
    }

    .eo-transferencia-botoes {
        flex-direction: row;
        justify-content: center;
    }
}

/* Contatos do sacado (e-mails e endereços adicionais) */
.eo-tabela-contatos {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
}

    .eo-tabela-contatos .eo-vazio {
        color: var(--mud-palette-text-secondary);
        text-align: center;
        padding: 16px;
    }

    .eo-tabela-contatos .eo-inativo td {
        opacity: .55;
    }

/* Consulta de títulos do Protesto */
.eo-apagado {
    color: var(--mud-palette-text-secondary);
    font-size: .85em;
}

.eo-num {
    text-align: right !important;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.eo-resumo-situacoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.eo-valor-destaque {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 8px 16px;
    border-radius: 12px;
    background: var(--mud-palette-background-gray);
}

    .eo-valor-destaque span {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .eo-valor-destaque strong {
        font-size: 1.5rem;
        font-variant-numeric: tabular-nums;
    }

.eo-tabela-custas tfoot th {
    font-weight: 600;
    border-top: 2px solid var(--mud-palette-lines-default);
}

/* Apontamento */
.eo-seletor-parte {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.eo-item-parte {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

    .eo-item-parte small {
        color: var(--mud-palette-text-secondary);
    }

.eo-devedor-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.eo-lista-remessas {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 260px;
    overflow-y: auto;
}

.eo-remessa {
    display: grid;
    grid-template-columns: minmax(110px, auto) 1fr auto;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: none;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

    .eo-remessa:hover {
        background: var(--mud-palette-action-default-hover);
    }

.eo-remessa-ativa {
    border-color: var(--mud-palette-primary);
}

.eo-remessa-nome {
    font-family: ui-monospace, Consolas, monospace;
    font-size: .85rem;
}

.eo-campo-curto {
    max-width: 140px;
}

@media (max-width: 600px) {
    .eo-remessa {
        grid-template-columns: 1fr auto;
    }

        .eo-remessa .eo-apagado {
            grid-column: 1 / -1;
            grid-row: 2;
        }
}

.eo-portadores {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* Pessoas */
.eo-endereco,
.eo-contato {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.eo-contato {
    border: 0;
    padding: 2px 0;
}

.eo-inativo {
    opacity: .6;
}

.eo-chips-papeis {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

/* Intimação: título para fins falimentares em destaque (como no desktop) */
.eo-linha-falimentar td {
    background: var(--mud-palette-dark) !important;
    color: var(--mud-palette-dark-text) !important;
}

/* Valores numéricos alinhados à direita em tabelas simples */
.eo-numero {
    text-align: right !important;
    white-space: nowrap;
}

/* Texto longo sem formatação (CampoTexto.razor): a mesma moldura e a barra presa do editor; a área cresce com o texto. */
.eo-campo-texto-rotulo {
    padding-left: 6px;
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
}

.eo-campo-texto-area {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    outline: none;
    resize: vertical;
    field-sizing: content;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 0.95rem;
    line-height: 1.5;
}

.eo-campo-texto-area:disabled {
    background: var(--mud-palette-background-gray);
}

.eo-campo-texto-ajuda {
    padding: 4px 12px 6px;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* O teor formatado para leitura (TeorTexto.razor): a mesma fonte do editor, sem a moldura. */
.eo-teor {
    max-width: none;
    font-size: 0.95rem;
}

/* Os representantes da pessoa jurídica, recuados sob a parte. */
.eo-representantes {
    margin: 2px 0 6px 32px;
    padding-left: 10px;
    border-left: 3px solid var(--mud-palette-primary-lighten, var(--mud-palette-primary));
}

/* Editor de texto dos atos (EditorTexto.razor / js/editor-texto.js): a área tem a largura útil da folha do livro (A4 com margens de 30 e 20 mm)
   e a fonte e o entrelinhado do PDF, para a quebra das linhas ficar próxima da impressa. */
.eo-editor {
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
}

.eo-editor:focus-within {
    border-color: var(--mud-palette-primary);
}

.eo-editor-rotulo {
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
    padding: 6px 12px 0;
}

/* A barra e a régua juntas, presas logo abaixo do cabeçalho do sistema (MudAppBar, fixo) enquanto o texto rola. */
.eo-editor-topo {
    position: sticky;
    top: var(--mud-appbar-height, 64px);
    z-index: 3;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius) var(--mud-default-borderradius) 0 0;
}

.eo-editor-barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
}

/* Com o mesmo recuo lateral da área do texto, para a régua alinhar com a linha. */
.eo-editor-regua-area {
    padding: 4px 12px 6px;
    overflow-x: auto;
}

.eo-editor-barra + .eo-editor-regua-area {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.eo-editor-regua-area:empty {
    display: none;
}

.eo-editor-gravar {
    margin-left: 8px !important;
}

.eo-editor-separador {
    width: 1px;
    height: 22px;
    margin: 0 4px;
    background: var(--mud-palette-lines-default);
}

.eo-editor-tamanho {
    min-width: 0 !important;
    text-transform: none !important;
}

.eo-editor-area {
    overflow-x: auto;
    padding: 12px;
    cursor: text;
}

.eo-editor-desabilitado .eo-editor-area {
    cursor: default;
    background: var(--mud-palette-background-gray);
}

.eo-editor-conteudo {
    max-width: 160mm;
    margin: 0 auto;
    outline: none;
    font-family: "Lato", "Segoe UI", Arial, sans-serif;
    font-size: 11.5pt;
    line-height: 1.5;
    color: var(--mud-palette-text-primary);
    min-height: inherit;
}

.eo-editor-conteudo p {
    margin: 0;
    text-align: justify;
    min-height: 1.5em;
}

.eo-editor-conteudo ul,
.eo-editor-conteudo ol {
    margin: 0;
    padding-left: 1.6em;
}

.eo-editor-conteudo hr {
    border: 0;
    border-top: 1px solid currentColor;
    margin: 4px 0;
}

.eo-editor-conteudo table {
    border-collapse: collapse;
    width: 100%;
    margin: 2px 0;
    table-layout: fixed;
}

.eo-editor-conteudo td,
.eo-editor-conteudo th {
    border: 1px solid var(--mud-palette-text-secondary);
    padding: 0 4px;
    vertical-align: top;
}

.eo-editor-conteudo th {
    font-weight: bold;
}

.eo-editor-conteudo .selectedCell {
    background: var(--mud-palette-action-default-hover);
}

.eo-campo {
    display: inline-block;
    padding: 0 4px;
    border-radius: 4px;
    background: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
    font-size: 0.92em;
    line-height: 1.3;
    white-space: nowrap;
}

.eo-editor-conteudo .eo-campo.ProseMirror-selectednode {
    outline: 2px solid var(--mud-palette-primary);
}

/* Régua do editor (16 cm da linha do livro): os marcadores de primeira linha (em cima), recuo à esquerda e à direita (embaixo). */
.eo-regua {
    position: relative;
    width: 16cm;
    height: 22px;
    margin: 0 auto;
    background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 2px;
    color: var(--mud-palette-text-secondary);
    font-size: 9px;
    user-select: none;
    touch-action: none;
}

.eo-regua-fora {
    position: absolute;
    top: 0;
    bottom: 0;
    background: var(--mud-palette-background-gray);
}

.eo-regua-fora-esq { left: 0; }
.eo-regua-fora-dir { right: 0; }

.eo-regua-marcas span {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.eo-regua-cm { line-height: 1; }

.eo-regua-meio,
.eo-regua-quarto {
    width: 1px;
    background: currentColor;
}

.eo-regua-meio { height: 7px; }
.eo-regua-quarto { height: 3px; }

.eo-regua-marcador {
    position: absolute;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    cursor: ew-resize;
    z-index: 1;
}

.eo-regua-primeira {
    top: -1px;
    border-top: 9px solid var(--mud-palette-primary);
}

.eo-regua-esquerda,
.eo-regua-direita {
    bottom: -1px;
    border-bottom: 9px solid var(--mud-palette-primary);
}

.eo-regua-inativa .eo-regua-marcador {
    opacity: 0.35;
    pointer-events: none;
}

.eo-regua-valor {
    display: none;
    position: absolute;
    top: 2px;
    transform: translateX(10px);
    padding: 0 6px;
    border-radius: 4px;
    background: var(--mud-palette-text-primary);
    color: var(--mud-palette-surface);
    font-size: 11px;
    line-height: 16px;
    white-space: nowrap;
    z-index: 4;
}

.eo-regua-arrastando .eo-regua-valor { display: block; }

.eo-regua-guia {
    display: none;
    position: absolute;
    width: 0;
    border-left: 1px dashed var(--mud-palette-primary);
    pointer-events: none;
    z-index: 3;
}

/* ---- Campos obrigatórios ----
   Class="eo-obrigatorio" (ou Required="true" do MudBlazor) no campo: o rótulo leva o asterisco e uma barra âmbar à esquerda; enquanto o
   campo estiver vazio, o fundo e a borda ficam âmbar, para o usuário achar de relance o que falta preencher. Preenchido, fica só a barra.
   (Vazio = o MudBlazor não marcou o campo com mud-shrink; desabilitado não se destaca.) */
.mud-input-control.eo-obrigatorio > .mud-input-control-input-container > .mud-input-label::after,
.mud-input-control.eo-obrigatorio > .mud-input-control-input-container .mud-input-outlined-border > legend::after {
    content: " *";
}
.mud-input-control.eo-obrigatorio .mud-input:not(.mud-disabled),
.mud-input-control.mud-input-required .mud-input:not(.mud-disabled) {
    box-shadow: inset 3px 0 0 rgba(var(--mud-palette-warning-rgb), 0.9);
    border-radius: var(--mud-default-borderradius);
}
.mud-input-control.eo-obrigatorio .mud-input:not(.mud-shrink):not(.mud-disabled),
.mud-input-control.mud-input-required .mud-input:not(.mud-shrink):not(.mud-disabled) {
    background-color: rgba(var(--mud-palette-warning-rgb), 0.12);
}
.mud-input-control.eo-obrigatorio .mud-input.mud-input-outlined:not(.mud-shrink):not(.mud-disabled):not(:focus-within) > .mud-input-outlined-border,
.mud-input-control.mud-input-required .mud-input.mud-input-outlined:not(.mud-shrink):not(.mud-disabled):not(:focus-within) > .mud-input-outlined-border {
    border-color: rgba(var(--mud-palette-warning-rgb), 0.9);
}
.mud-input-control.eo-obrigatorio:has(.mud-input:not(.mud-shrink):not(.mud-disabled)) > .mud-input-control-input-container > .mud-input-label,
.mud-input-control.mud-input-required:has(.mud-input:not(.mud-shrink):not(.mud-disabled)) > .mud-input-control-input-container > .mud-input-label {
    color: var(--mud-palette-warning-darken);
}

/* Os textos longos obrigatórios (EditorTexto/CampoTexto com Obrigatorio="true"): a mesma barra âmbar e, vazios, o fundo âmbar. */
.eo-editor.eo-texto-obrigatorio {
    box-shadow: inset 3px 0 0 rgba(var(--mud-palette-warning-rgb), 0.9);
}
.eo-editor.eo-texto-vazio {
    border-color: rgba(var(--mud-palette-warning-rgb), 0.9);
    background-color: rgba(var(--mud-palette-warning-rgb), 0.08);
}
.eo-editor.eo-texto-vazio .eo-editor-rotulo,
.eo-editor.eo-texto-vazio .eo-campo-texto-rotulo {
    color: var(--mud-palette-warning-darken);
}

/* Faixa do ambiente de conferência/homologação (Ambiente:Aviso) */
.eo-aviso-ambiente {
    font-weight: 600;
    background-color: #fff1cc !important;
    color: #5a3b00 !important;
    border-left: 4px solid #d99a00;
}

.eo-aviso-ambiente .mud-alert-icon {
    color: #b37f00 !important;
}

.eo-login-card .eo-aviso-ambiente {
    margin-bottom: 1.25rem;
    border-radius: 6px;
}
