:root {
    --cor-primaria: #3E4095;
    --cor-secundaria: #F8B130;
    --cor-fundo: #eef1f7;
    --cor-branca: rgba(255, 255, 255, 0.94);
    --cor-texto: #2c2c2c;
    --cor-borda: #d7dced;
    --cor-hover-primaria: #2f3177;
    --cor-hover-secundaria: #df9d28;
    --cor-perigo: #d9534f;
    --cor-cinza: #6c757d;
    --cor-sucesso: #2e9d62;
    --sombra: 0 12px 30px rgba(0, 0, 0, 0.10);
}

* {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    color: var(--cor-texto);
    background-image: url('/static/background.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* .page-overlay {
    min-height: 100vh;
    background: rgba(238, 241, 247, 0.78);
    padding: 32px 16px;
} */

.login-overlay {
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0 190px 110px 0;
    background: transparent !important;
}

.container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: rgba(255,255,255,.60);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 28px;
    border-radius: 22px;
    box-shadow: var(--sombra);
    border-top: 8px solid var(--cor-primaria);
}

.topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 28px;
}

.topo h1 {
    margin: 4px 0 0 0;
    font-size: 2.3rem;
    color: var(--cor-primaria);
    line-height: 1.1;
}

.subtitulo {
    margin: 0;
    color: #6c7293;
    font-size: 0.95rem;
}

.titulo-com-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-topo {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.logo-login {
    width: 78px;
    margin: 0 auto 14px auto;
    display: block;
}

/* DASHBOARD SUPERIOR */
.dashboard-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.dash-card {
    background: linear-gradient(135deg, #ffffff, #f8f9ff);
    border: 1px solid #e5e9f5;
    border-radius: 18px;
    padding: 22px;
    min-height: 108px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.dash-label {
    font-size: 0.95rem;
    color: #6c7293;
    margin-bottom: 10px;
}

.dash-value {
    font-size: 2rem;
    line-height: 1.1;
    color: var(--cor-primaria);
    font-weight: 700;
    word-break: break-word;
}

/* CARDS GERAIS */
.form-card,
.filtro-card,
.lista-card,
.grafico-card {
    background: #ffffff;
    border: 1px solid #e9edf7;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    margin-bottom: 24px;
}

.form-card h2,
.filtro-card h2,
.lista-card h2,
.grafico-card h2 {
    margin-top: 0;
    margin-bottom: 18px;
    color: var(--cor-primaria);
}

/* INPUTS E BOTÕES */
input,
select,
button {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border-radius: 12px;
}

input,
select {
    border: 1px solid var(--cor-borda);
    background-color: #fbfcff;
    color: var(--cor-texto);
    transition: 0.2s ease;
}

input:focus,
select:focus {
    outline: none;
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 4px rgba(62, 64, 149, 0.12);
    background-color: #ffffff;
}

button {
    border: none;
    background-color: var(--cor-primaria);
    color: white;
    cursor: pointer;
    transition: 0.25s ease;
    font-weight: bold;
}

button:hover {
    background-color: var(--cor-hover-primaria);
    transform: translateY(-1px);
}

.btn-principal {
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    font-size: 16px;
}

.btn-principal:hover {
    background: linear-gradient(135deg, #2f3177, #4548a8);
}

.btn-editar,
.btn-visualizar,
.btn-sair,
.voltar,
.btn-limpar {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    padding: 12px 14px;
    border-radius: 12px;
    transition: 0.25s ease;
}

.btn-editar {
    background-color: var(--cor-secundaria);
    color: #1f1f1f;
}

.btn-editar:hover {
    background-color: var(--cor-hover-secundaria);
}

.btn-visualizar {
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    color: #ffffff;
}

.btn-visualizar:hover {
    background: linear-gradient(135deg, #2f3177, #4548a8);
}

.btn-excluir {
    background-color: var(--cor-perigo);
    color: white;
    border: none;
}

.btn-sair {
    background-color: var(--cor-primaria);
    color: white;
}

.btn-sair:hover {
    background-color: var(--cor-hover-primaria);
}

.voltar,
.btn-limpar {
    background-color: var(--cor-cinza);
    color: white;
}

/* GRÁFICOS */
.graficos-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(320px, 1fr));
    gap: 18px;
    margin-bottom: 24px;
    align-items: stretch;
}

.grafico-card {
    min-width: 0;
}

.grafico-wrapper {
    position: relative;
    width: 100%;
    height: 320px;
    min-height: 260px;
}

.grafico-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
}

/* FORMULÁRIO */
.grid-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.grid-form button {
    grid-column: 1 / -1;
}

/* Layout padronizado dos formulários de chamados */
.chamado-form {
    align-items: stretch;
}

.chamado-form > select {
    height: 48px;
}

.chamado-form .campo-status,
.chamado-form .campo-descricao {
    grid-column: 1 / -1;
}

.chamado-form .campo-data {
    width: 100%;
    max-width: none;
}

.chamado-form .campo-data input[type="date"] {
    height: 48px;
}

.chamado-form .campo-descricao {
    min-height: 120px;
}

/* FILTROS */
.painel-superior {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin-bottom: 24px;
    align-items: stretch;
}

.filtro-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 12px;
    align-items: end;
}

.painel-filtros-chamados {
    grid-template-columns: 1fr;
}

.filtro-form-chamados {
    grid-template-columns: minmax(260px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) auto;
}

.campo-filtro {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.campo-filtro label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #5e6480;
}

.acoes-filtro {
    display: flex;
    gap: 10px;
    align-items: end;
}

.acoes-filtro button,
.acoes-filtro .btn-limpar {
    min-width: 120px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* TOTAL */
.total-box {
    background: linear-gradient(135deg, #fff4d8, #f7e6b5);
    border-left: 6px solid var(--cor-secundaria);
    border-radius: 18px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.total-box span {
    font-size: 0.95rem;
    color: #6a5300;
    margin-bottom: 8px;
}

.total-box strong {
    font-size: 2rem;
    color: #3d2f00;
    line-height: 1.1;
}

/* LISTA DE PEDIDOS */
.lista-itens {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pedido-item {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, #fbfbff, #f4f6fd);
    border: 1px solid #e6ebf5;
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 14px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.pedido-conteudo {
    flex: 1;
    min-width: 0;
}

.pedido-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.pedido-titulo {
    margin: 0;
    font-size: 1.35rem;
    color: var(--cor-primaria);
    line-height: 1.2;
}

.pedido-categoria {
    margin: 4px 0 0 0;
    color: #6c7293;
    font-size: 0.95rem;
}

.pedido-detalhes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 24px;
}

.pedido-coluna {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #3f465d;
}

.pedido-coluna span {
    line-height: 1.4;
}

.acoes {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    min-width: 120px;
}

.acoes form {
    margin: 0;
}

.btn-editar,
.btn-excluir {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    font-weight: 700;
}

/* TAGS */
.tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
    letter-spacing: 0.02em;
}

.tag-pendente {
    background-color: #fff1c9;
    color: #8a6500;
}

.tag-aprovado {
    background-color: #dde4ff;
    color: #3140a0;
}

.tag-comprado {
    background-color: #dff6ea;
    color: #1f7a4e;
}

.sem-itens {
    text-align: center;
    color: #6c7293;
    padding: 24px 0;
}

/* LOGIN */
.login-page {
    min-height: 100vh;
    background: url('/static/TelaLogin.png') no-repeat center bottom fixed;
    background-size: cover;
}

.login-overlay {
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0 190px 110px 0;
    background: transparent !important;
}


.login-box {
    width: 430px !important;
    max-width: 430px !important;
    margin: 0 !important;
}

.login-box h1 {
    text-align: center;
    margin-bottom: 18px;
    color: #1f1f1f;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.login-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.login-box input {
    background: rgba(255, 255, 255, 0.90);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.erro-login {
    background-color: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
    padding: 12px;
    border-radius: 10px;
    text-align: center;
    margin-bottom: 14px;
}

/* RESPONSIVIDADE */
@media (min-width: 1600px) {
    .grafico-wrapper {
        height: 380px;
    }
}

@media (max-width: 1200px) {
    .grafico-wrapper {
        height: 300px;
    }

    .container {
        max-width: 1000px;
    }
}

@media (max-width: 980px) {
    .dashboard-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .painel-superior {
        grid-template-columns: 1fr;
    }

    .filtro-form {
        grid-template-columns: 1fr 1fr;
    }

    .acoes-filtro {
        grid-column: 1 / -1;
    }

    .graficos-grid {
        grid-template-columns: 1fr;
    }

    .grid-form {
        grid-template-columns: 1fr;
    }

    .pedido-item {
        flex-direction: column;
    }

    .pedido-detalhes {
        grid-template-columns: 1fr;
    }

    .acoes {
        flex-direction: row;
        min-width: auto;
        width: 100%;
    }

    .acoes a,
    .acoes button {
        width: 100%;
    }

    .topo {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .topo h1 {
        font-size: 1.8rem;
    }
}

@media (max-width: 640px) {
    .page-overlay {
        padding: 14px;
    }

    .container {
        padding: 16px;
        border-radius: 16px;
    }

    .dashboard-cards {
        grid-template-columns: 1fr;
    }

    .dash-card {
        min-height: auto;
    }

    .filtro-form {
        grid-template-columns: 1fr;
    }

    .acoes-filtro {
        flex-direction: column;
    }

    .acoes-filtro button,
    .acoes-filtro .btn-limpar {
        width: 100%;
    }

    .pedido-topo {
        flex-direction: column;
        align-items: flex-start;
    }

    .acoes {
        flex-direction: column;
    }

    .dash-value,
    .total-box strong {
        font-size: 1.6rem;
    }

    .grafico-card {
        padding: 16px;
    }

    .grafico-wrapper {
        height: 260px;
        min-height: 220px;
    }

    .grafico-card h2 {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    input,
    select,
    button,
    .btn-limpar,
    .btn-editar,
    .btn-sair,
    .voltar {
        font-size: 14px;
        padding: 12px 14px;
    }

    .topo h1 {
        font-size: 1.5rem;
        line-height: 1.2;
    }

    .subtitulo {
        font-size: 0.88rem;
    }

    .login-overlay {
        padding: 16px;
    }

    .login-box {
        max-width: 100%;
        padding: 22px 18px;
    }
}

@media (max-width: 768px) {
    .login-overlay {
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .login-box {
        width: 100% !important;
        max-width: 350px !important;
    }
}

@media (max-width: 768px) {
    .login-overlay {
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .login-box {
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }
}

/* =========================
   PEDIDOS EM CARDS
========================= */

.pedidos-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.pedido-card {
    background: linear-gradient(135deg, #ffffff, #f8f9ff);
    border: 1px solid #e5e9f5;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
    transition: 0.2s ease;
}

.pedido-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

.pedido-card-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.pedido-titulo {
    margin: 0;
    font-size: 1.25rem;
    color: var(--cor-primaria);
    line-height: 1.2;
}

.pedido-subtitulo {
    margin: 6px 0 0 0;
    font-size: 0.95rem;
    color: #6c7293;
}

.pedido-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.pedido-info-item {
    background: #f4f6fd;
    border: 1px solid #e6ebf5;
    border-radius: 14px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pedido-label {
    font-size: 0.82rem;
    color: #6c7293;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pedido-info-item strong {
    font-size: 0.98rem;
    color: #2f3558;
    word-break: break-word;
}

.pedido-card-acoes {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
}

.pedido-card-acoes form {
    margin: 0;
}

.pedido-card-acoes .btn-editar,
.pedido-card-acoes .btn-visualizar,
.pedido-card-acoes .btn-excluir {
    min-width: 130px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-weight: 700;
}

.pedido-card-acoes .btn-editar {
    text-decoration: none;
    background: var(--cor-secundaria);
    color: #1f1f1f;
}

.pedido-card-acoes .btn-visualizar {
    text-decoration: none;
}

.pedido-card-acoes .btn-excluir {
    background: var(--cor-perigo);
    color: #fff;
    border: none;
    cursor: pointer;
}

/* Responsivo */
@media (max-width: 900px) {
    .pedido-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .pedido-card-topo {
        flex-direction: column;
        align-items: flex-start;
    }

    .pedido-info-grid {
        grid-template-columns: 1fr;
    }

    .pedido-card-acoes {
        flex-direction: column;
        align-items: stretch;
    }

    .pedido-card-acoes .btn-editar,
    .pedido-card-acoes .btn-excluir {
        width: 100%;
    }
}

/* =========================
   MENU DE MÓDULOS
========================= */

.modulos-menu {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.modulo-card {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 16px;
    background: #f4f6fd;
    border: 1px solid #e6ebf5;
    text-decoration: none;
    color: var(--cor-primaria);
    font-weight: 700;
    transition: 0.2s ease;
}

.modulo-card:hover {
    transform: translateY(-2px);
    background: #e9ecff;
}

.modulo-card.ativo {
    background: linear-gradient(135deg, #3E4095, #5a5dd6);
    color: white;
    border: none;
}

.modulo-icone {
    font-size: 22px;
}

@media (max-width: 700px) {
    .modulos-menu {
        flex-direction: column;
    }
}
/* Parte responsável pela estilização dos chamados */

textarea {
    width: 100%;
    min-height: 120px;
    padding: 14px 16px;
    font-size: 15px;
    border-radius: 12px;
    border: 1px solid var(--cor-borda);
    background-color: #fbfcff;
    resize: vertical;
    font-family: Arial, sans-serif;
}

textarea:focus {
    outline: none;
    border-color: var(--cor-primaria);
    box-shadow: 0 0 0 4px rgba(62, 64, 149, 0.12);
}

.modulos-menu {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.modulo-card {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 16px;
    background: #f4f6fd;
    border: 1px solid #e6ebf5;
    text-decoration: none;
    color: var(--cor-primaria);
    font-weight: 700;
}

.modulo-card.ativo {
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    color: white;
}

.modulo-icone {
    font-size: 22px;
}

.campo-data {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 220px;
}

.campo-data label {
    font-size: 0.85rem;
    color: #6c7293;
    font-weight: 600;
}

.campo-data input[type="date"] {
    width: 100%;
    height: 48px;
    padding: 10px 12px;
    font-size: 14px;
    border-radius: 10px;
}

/* =========================
   STATUS - CHAMADOS
========================= */

.tag-aberto {
    background: linear-gradient(135deg, #d9534f, #c9302c);
    color: #ffffff;
    border: 1px solid #b52b27;
    box-shadow: 0 4px 10px rgba(217, 83, 79, 0.25);
}

.tag-em-andamento {
    background: linear-gradient(135deg, #F8B130, #e49b18);
    color: #2c2c2c;
    border: 1px solid #d68b00;
    box-shadow: 0 4px 10px rgba(248, 177, 48, 0.25);
}

.tag-resolvido {
    background: linear-gradient(135deg, #2e9d62, #237a4b);
    color: #ffffff;
    border: 1px solid #1f6b42;
    box-shadow: 0 4px 10px rgba(46, 157, 98, 0.25);
}

/* =========================
   TABELA DE CONTATOS
========================= */

.tabela-responsiva {
    width: 100%;
    overflow-x: auto;
    border-radius: 16px;
    border: 1px solid #e6ebf5;
}

.tabela-contatos {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    min-width: 850px;
}

.tabela-contatos thead {
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    color: white;
}

.tabela-contatos th {
    padding: 16px;
    text-align: left;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tabela-contatos td {
    padding: 16px;
    border-bottom: 1px solid #edf0f7;
    color: #2f3558;
    vertical-align: middle;
}

.tabela-contatos tbody tr {
    transition: 0.2s ease;
}

.tabela-contatos tbody tr:hover {
    background: #f6f7ff;
}

.tabela-contatos tbody tr:last-child td {
    border-bottom: none;
}

.acoes-tabela {
    display: flex;
    gap: 10px;
    align-items: center;
}

.acoes-tabela form {
    margin: 0;
}

.acoes-tabela .btn-editar,
.acoes-tabela .btn-excluir {
    min-width: 90px;
    min-height: 38px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.9rem;
}

.numero-chamado {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #6c7293;
    background: #eef1ff;
    padding: 4px 10px;
    border-radius: 8px;
}

.historico-lista {
    list-style: none;
    padding: 0;
    margin-top: 12px;
}

.historico-lista li {
    background: #f4f6fd;
    border: 1px solid #e6ebf5;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 128px;
    gap: 18px;
    align-items: center;
}

.historico-lista strong {
    color: #2f3558;
}

.historico-lista span {
    color: #6c7293;
    font-size: 0.85rem;
}

.campo-observacoes {
    min-height: 120px;
    resize: vertical;
    grid-column: 1 / -1;
}

.pedido-observacoes {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f4f6fd;
    border: 1px solid #e4e8f5;
    border-radius: 12px;
}

.pedido-observacoes strong {
    display: block;
    margin-bottom: 6px;
    color: var(--cor-primaria);
}

.pedido-observacoes p {
    margin: 0;
    color: #4d5475;
    line-height: 1.5;
}

.campo-observacoes {
    min-height: 120px;
    resize: vertical;
    grid-column: 1 / -1;
}

.pedido-observacoes {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f4f6fd;
    border: 1px solid #e4e8f5;
    border-radius: 12px;
}

.pedido-observacoes strong {
    display: block;
    margin-bottom: 6px;
    color: var(--cor-primaria);
}

.pedido-observacoes p {
    margin: 0;
    color: #4d5475;
    line-height: 1.5;
}

/* CORREÇÃO DE LAYOUT / TEXTOS LONGOS */

.container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    overflow: hidden;
}

.lista-card,
.pedidos-grid,
.pedido-card {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.pedido-card {
    box-sizing: border-box;
}

.pedido-info-grid {
    width: 100%;
    min-width: 0;
}

.pedido-info-item {
    min-width: 0;
    overflow: hidden;
}

.pedido-info-item strong,
.pedido-info-item span,
.pedido-observacoes,
.pedido-observacoes p {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.pedido-observacoes {
    max-width: 100%;
    overflow: hidden;
}

.pedido-card-acoes {
    width: 100%;
}

@media (max-width: 900px) {
    .pedido-info-grid {
        grid-template-columns: 1fr;
    }
}



/* Ferramentas_ti */

.ferramentas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.ferramenta-card {
    background: rgba(255,255,255,0.92);
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #dfe4f3;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.ferramenta-card h2 {
    color: #3f4599;
    margin-bottom: 18px;
}

.lista-scripts {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.script-item {
    text-decoration: none;
    background: #f4f6fd;
    border: 1px solid #dfe4f3;
    padding: 14px;
    border-radius: 12px;
    color: #2f3558;
    font-weight: 600;
    transition: 0.2s;
}

.script-item:hover {
    background: #4a49a8;
    color: white;
    transform: translateY(-2px);
}

.instrucao-box p {
    margin-bottom: 12px;
    color: #4d5475;
    line-height: 1.5;
}

.restrita {
    border-left: 6px solid #4a49a8;
}

.passos-container {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 10px;
}

.passo-card {
    background: #f4f6fd;
    border: 1px solid #dfe4f3;
    border-radius: 16px;
    padding: 28px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;

    transition: 0.25s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;

    min-height: 180px;
}

.passo-card:hover {
    transform: translateY(-4px);
    background: linear-gradient(135deg, #4a49a8, #5d5bc7);
    box-shadow: 0 10px 25px rgba(74, 73, 168, 0.25);
}

.passo-card:hover h3,
.passo-card:hover p {
    color: white;
}

.passo-numero {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #4a49a8;
    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: bold;
    font-size: 18px;

    margin-bottom: 18px;
}

.passo-card:hover .passo-numero {
    background: white;
    color: #4a49a8;
}

.passo-card h3 {
    margin-bottom: 12px;
    color: #3f4599;
    transition: 0.25s ease;
}

.passo-card p {
    color: #5b6287;
    line-height: 1.6;
    transition: 0.25s ease;
    max-width: 320px;
}

.top-header {
    background: linear-gradient(90deg, #0f3557, #1f64a3);
    color: white;
    border-radius: 0 0 14px 14px;
    padding: 14px 22px;
    margin: -28px -28px 28px -28px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.header-left,
.header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.menu-btn,
.grid-btn {
    width: auto;
    background: transparent;
    color: white;
    border: none;
    font-size: 26px;
    cursor: pointer;
    padding: 6px 8px;
}

.header-logo img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.header-sistema {
    font-size: 0.85rem;
    opacity: 0.85;
    font-weight: 600;
}

.top-header h1 {
    margin: 0;
    font-size: 1.4rem;
    color: white;
}

.usuario-info {
    text-align: right;
    font-size: 0.9rem;
}

.btn-sair-header {
    background: rgba(255, 255, 255, 0.18);
    color: white;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 10px;
    font-weight: bold;
}

.modulos-dropdown {
    display: none;
    position: absolute;
    right: 110px;
    top: 92px;
    width: 360px;
    background: white;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.22);
    z-index: 999;

    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.modulos-dropdown.ativo {
    display: grid;
}

.modulos-dropdown a {
    text-decoration: none;
    color: #2f3558;
    text-align: center;
    padding: 14px 8px;
    border-radius: 12px;
    transition: 0.2s;
}

.modulos-dropdown a:hover {
    background: #f0f3ff;
    transform: translateY(-2px);
}

.modulos-dropdown .modulo-icone {
    display: inline-flex;
    width: 34px;
    height: 34px;
    margin: 0 auto 8px;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    border: 1px solid #d9e0ff;
    color: #3f45a0;
    position: relative;
}

.modulos-dropdown .modulo-icone::before,
.modulos-dropdown .modulo-icone::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}

.modulos-dropdown .modulo-compras::before {
    width: 17px;
    height: 12px;
    border: 2px solid currentColor;
    border-top: none;
    top: 12px;
}

.modulos-dropdown .modulo-compras::after {
    width: 19px;
    height: 2px;
    background: currentColor;
    top: 9px;
    transform: skewX(-18deg);
}

.modulos-dropdown .modulo-chamados::before {
    width: 18px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.modulos-dropdown .modulo-chamados::after {
    width: 7px;
    height: 7px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    bottom: 8px;
    left: 10px;
    transform: rotate(-20deg);
}

.modulos-dropdown .modulo-contatos::before,
.modulos-dropdown .modulo-rh::before {
    width: 10px;
    height: 10px;
    border: 2px solid currentColor;
    border-radius: 50%;
    top: 7px;
}

.modulos-dropdown .modulo-contatos::after,
.modulos-dropdown .modulo-rh::after {
    width: 20px;
    height: 9px;
    border: 2px solid currentColor;
    border-radius: 12px 12px 5px 5px;
    bottom: 6px;
}

.modulos-dropdown .modulo-inventario::before {
    width: 20px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 3px;
    top: 7px;
}

.modulos-dropdown .modulo-inventario::after {
    width: 14px;
    height: 2px;
    background: currentColor;
    bottom: 8px;
    box-shadow: 0 4px 0 -1px currentColor;
}

.modulos-dropdown .modulo-estoque::before {
    width: 18px;
    height: 16px;
    border: 2px solid currentColor;
    border-radius: 3px;
    top: 10px;
}

.modulos-dropdown .modulo-estoque::after {
    width: 12px;
    height: 12px;
    border-left: 2px solid currentColor;
    border-top: 2px solid currentColor;
    top: 8px;
    transform: rotate(45deg);
}

.modulos-dropdown p {
    margin: 0;
    font-weight: 600;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .top-header {
        flex-direction: column;
        align-items: stretch;
        margin: -16px -16px 24px -16px;
    }

    .header-left,
    .header-right {
        justify-content: space-between;
    }

    .modulos-dropdown {
        position: static;
        width: 100%;
        margin-bottom: 20px;
        grid-template-columns: repeat(2, 1fr);
    }
}


/* INVENTARIO TI */
.inventario-dashboard {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.inventario-graficos {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
}

.grafico-card-largo {
    grid-column: 1 / -1;
}

.inventario-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inventario-observacoes {
    grid-column: 1 / -1;
    min-height: 92px;
}

.inventario-filtros .filtro-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.inventario-lista {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.inventario-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, #fbfbff, #f4f6fd);
    border: 1px solid #e6ebf5;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.inventario-card-conteudo {
    flex: 1;
    min-width: 0;
}

.inventario-card-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.inventario-card h3 {
    margin: 4px 0;
    color: var(--cor-primaria);
    font-size: 1.3rem;
}

.inventario-card p {
    margin: 0;
    color: #6c7293;
}

.inventario-patrimonio {
    display: inline-block;
    color: #5e6480;
    font-size: 0.9rem;
    font-weight: 700;
}

.inventario-detalhes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    color: #3f465d;
}

.inventario-detalhes span {
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.inventario-observacao-card {
    margin-top: 14px;
    padding: 14px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e9edf7;
}

.inventario-observacao-card strong {
    color: var(--cor-primaria);
}

.inventario-observacao-card p {
    margin-top: 6px;
    color: #3f465d;
}

.inventario-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 118px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.status-ativo {
    background: #dff6ea;
    color: #1f7a4e;
}

.status-manutencao {
    background: #fff1c9;
    color: #8a6500;
}

.status-reserva {
    background: #ddeaff;
    color: #205399;
}

.status-descartado {
    background: #f0f1f4;
    color: #5b6270;
}

.historico-inventario ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.historico-inventario li {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e6ebf5;
    border-radius: 14px;
    background: #fbfcff;
}

.historico-inventario span,
.historico-inventario small {
    color: #6c7293;
}

@media (max-width: 1024px) {
    .inventario-dashboard {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inventario-form,
    .inventario-filtros .filtro-form,
    .inventario-detalhes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .inventario-graficos,
    .inventario-form,
    .inventario-filtros .filtro-form,
    .inventario-detalhes,
    .historico-inventario li {
        grid-template-columns: 1fr;
    }

    .inventario-card,
    .inventario-card-topo {
        flex-direction: column;
    }

    .inventario-acoes {
        width: 100%;
    }
}


/* HISTORICO DETALHADO DE CHAMADOS */
.campo-texto-bloqueado,
.campo-texto-historico {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.campo-texto-bloqueado label,
.campo-texto-historico label {
    font-size: 0.9rem;
    font-weight: 700;
    color: #5e6480;
}

.campo-texto-bloqueado textarea {
    background: #f1f3f8;
    color: #4d536c;
    cursor: not-allowed;
}

.campo-texto-historico textarea {
    min-height: 130px;
    background: #ffffff;
}

.historico-lista strong {
    display: block;
    line-height: 1.45;
}


/* FOCO VISUAL DO HISTORICO DE CHAMADOS */
.historico-conteudo {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.historico-atendimento strong {
    color: #2f3558;
    display: block;
    line-height: 1.35;
}

.historico-atendimento p {
    margin: 4px 0 0 0;
    color: #3f465d;
    line-height: 1.45;
}

.historico-alteracao {
    margin: 0;
    color: #7a809c;
    font-size: 0.88rem;
    line-height: 1.4;
}


/* ALINHAMENTO DA DATA NO HISTORICO DE CHAMADOS */
.historico-lista > li > span {
    justify-self: end;
    align-self: center;
    text-align: right;
    line-height: 1.25;
    white-space: normal;
}

.historico-conteudo {
    min-width: 0;
}

@media (max-width: 640px) {
    .historico-lista li {
        grid-template-columns: 1fr;
    }

    .historico-lista > li > span {
        justify-self: start;
        text-align: left;
    }
}


/* ESTOQUE TI */
.estoque-dashboard {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dash-alerta-baixo {
    border-color: #f6d58a;
    background: linear-gradient(135deg, #fff9ea, #fff1c9);
}

.dash-alerta-sem {
    border-color: #efb2b0;
    background: linear-gradient(135deg, #fff0f0, #ffe1df);
}

.estoque-graficos {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
}

.estoque-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.estoque-observacoes {
    grid-column: 1 / -1;
    min-height: 92px;
}

.estoque-filtros .filtro-form {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.estoque-lista {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.estoque-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, #fbfbff, #f4f6fd);
    border: 1px solid #e6ebf5;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.estoque-card-baixo {
    border-color: #f6d58a;
    background: linear-gradient(135deg, #fffaf0, #fff3d6);
}

.estoque-card-sem {
    border-color: #efb2b0;
    background: linear-gradient(135deg, #fff4f4, #ffe5e2);
}

.estoque-card-conteudo {
    flex: 1;
    min-width: 0;
}

.estoque-card-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.estoque-card h3 {
    margin: 4px 0;
    color: var(--cor-primaria);
    font-size: 1.3rem;
}

.estoque-card p {
    margin: 0;
    color: #6c7293;
}

.estoque-categoria {
    display: inline-block;
    color: #5e6480;
    font-size: 0.9rem;
    font-weight: 700;
}

.estoque-detalhes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    color: #3f465d;
}

.estoque-detalhes span {
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.estoque-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.estoque-status-disponivel {
    background: #dff6ea;
    color: #1f7a4e;
}

.estoque-status-baixo {
    background: #fff1c9;
    color: #8a6500;
}

.estoque-status-sem {
    background: #ffe1df;
    color: #b02a25;
}

.estoque-status-descontinuado {
    background: #f0f1f4;
    color: #5b6270;
}

.estoque-alerta {
    margin-bottom: 14px;
    padding: 10px 12px;
    border-radius: 12px;
    font-weight: 800;
}

.estoque-alerta-baixo {
    background: #fff1c9;
    color: #8a6500;
}

.estoque-alerta-sem,
.estoque-erro {
    background: #ffe1df;
    color: #b02a25;
}

.estoque-barra {
    width: 100%;
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e9f5;
    margin-top: 14px;
}

.estoque-barra div {
    height: 100%;
    background: linear-gradient(90deg, #2e9d62, #7fcf9f);
}

.estoque-observacao-card {
    margin-top: 14px;
    padding: 14px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #e9edf7;
}

.estoque-observacao-card strong {
    color: var(--cor-primaria);
}

.btn-movimentar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    background: #1f64a3;
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
    transition: 0.25s ease;
}

.btn-movimentar:hover {
    background: #174c7c;
    transform: translateY(-1px);
}

.estoque-acoes-edicao {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.estoque-resumo-movimento {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
    color: #3f465d;
}

.estoque-erro {
    padding: 12px 14px;
    border-radius: 12px;
    margin-bottom: 16px;
    font-weight: 800;
}

.historico-estoque ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.historico-estoque li {
    display: grid;
    grid-template-columns: 110px 70px 150px 130px 110px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e6ebf5;
    border-radius: 14px;
    background: #fbfcff;
}

.historico-estoque span,
.historico-estoque small,
.historico-estoque p {
    margin: 0;
    color: #6c7293;
}

@media (max-width: 1024px) {
    .estoque-dashboard {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .estoque-form,
    .estoque-filtros .filtro-form,
    .estoque-detalhes,
    .estoque-resumo-movimento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .historico-estoque li {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .estoque-graficos,
    .estoque-form,
    .estoque-filtros .filtro-form,
    .estoque-detalhes,
    .estoque-resumo-movimento,
    .historico-estoque li,
    .estoque-acoes-edicao {
        grid-template-columns: 1fr;
    }

    .estoque-card,
    .estoque-card-topo {
        flex-direction: column;
    }

    .estoque-acoes {
        width: 100%;
    }
}


/* LOJA NAS MOVIMENTACOES DE ESTOQUE */
.historico-estoque li span:nth-of-type(3)::before {
    content: "Loja: ";
    font-weight: 700;
    color: #5e6480;
}


/* RH */
.rh-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
}

.rh-nav a {
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #e6ebf5;
    color: var(--cor-primaria);
    padding: 12px 14px;
    border-radius: 12px;
    font-weight: 800;
}

.rh-dashboard {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.rh-graficos {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
}

.rh-filtro-form,
.rh-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}



.rh-date-field {
    max-width: none;
    width: 100%;
}

.rh-date-field label {
    padding-left: 2px;
}



.rh-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.rh-field label {
    padding-left: 2px;
    font-size: 0.85rem;
    color: #626b91;
    font-weight: 700;
}

.rh-field input,
.rh-field select {
    width: 100%;
    height: 48px;
}

.rh-field-full {
    grid-column: 1 / -1;
}

.rh-field-full textarea {
    width: 100%;
}

.rh-form textarea {
    grid-column: 1 / -1;
}

.rh-lista {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rh-card {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    background: #fbfcff;
    border: 1px solid #e6ebf5;
    border-radius: 16px;
    padding: 16px;
}

.rh-card p {
    margin: 6px 0;
    color: #6c7293;
}

.rh-badge {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: #dff6ea;
    color: #1f7a4e;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .rh-dashboard,
    .rh-filtro-form,
    .rh-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .rh-dashboard,
    .rh-graficos,
    .rh-filtro-form,
    .rh-form {
        grid-template-columns: 1fr;
    }
    .rh-card {
        flex-direction: column;
    }
}

/* Icone especifico do modulo RH: tres pessoas no mesmo estilo do menu */
.modulos-dropdown .modulo-rh::before {
    width: 9px;
    height: 9px;
    border: 2px solid currentColor;
    border-radius: 50%;
    top: 5px;
    left: 11px;
    background: transparent;
    box-shadow:
        -9px 4px 0 -2px #eef2ff,
        -9px 4px 0 0 currentColor,
        9px 4px 0 -2px #eef2ff,
        9px 4px 0 0 currentColor;
}

.modulos-dropdown .modulo-rh::after {
    display: block;
    width: 16px;
    height: 10px;
    border: 2px solid currentColor;
    border-radius: 10px 10px 4px 4px;
    bottom: 6px;
    left: 8px;
    background: transparent;
    box-shadow:
        -8px 3px 0 -2px #eef2ff,
        -8px 3px 0 0 currentColor,
        8px 3px 0 -2px #eef2ff,
        8px 3px 0 0 currentColor;
}

/* Menu lateral do sistema */
.menu-sistema {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: min(86vw, 360px);
    height: 100vh;
    background: #ffffff;
    box-shadow: 18px 0 40px rgba(20, 28, 60, 0.22);
    z-index: 1200;
    transform: translateX(-105%);
    transition: transform 0.24s ease;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.menu-sistema-aberto .menu-sistema {
    transform: translateX(0);
}

.menu-sistema-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(12, 18, 40, 0.45);
    z-index: 1190;
}

.menu-sistema-aberto .menu-sistema-overlay {
    display: block;
}

.menu-sistema-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #2f3558;
    font-size: 1.1rem;
}

.menu-fechar {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: #eef2ff;
    color: #3e4095;
    font-weight: 800;
    cursor: pointer;
}

.menu-sistema-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.menu-sistema-links a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #2f3558;
    background: #f7f8fe;
    border: 1px solid #edf0fb;
    text-decoration: none;
    font-weight: 700;
    transition: 0.2s ease;
}

.menu-sistema-links a:hover {
    background: #e9ecff;
    transform: translateX(3px);
}

.menu-sistema-secao {
    margin-top: 10px;
    padding: 10px 4px 4px;
    font-size: 0.78rem;
    color: #6c7293;
    font-weight: 800;
    text-transform: uppercase;
}

.menu-admin-link {
    background: #eef7ff !important;
    border-color: #cfe8ff !important;
}

.menu-suporte-card {
    display: grid;
    gap: 6px;
    margin-top: 8px;
    padding: 14px;
    border-radius: 12px;
    background: #f7f8fe;
    border: 1px solid #e5e9f8;
    color: #2f3558;
    font-size: 0.92rem;
}

.config-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
    gap: 20px;
    margin-bottom: 20px;
}

.config-card {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #dfe5f3;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 10px 26px rgba(20, 28, 60, 0.08);
}

.config-card h2 {
    margin: 0 0 16px;
    color: #3e4095;
}

.config-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.config-form input,
.config-form select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #ccd4e8;
    border-radius: 10px;
    padding: 0 12px;
    background: #fbfcff;
}

.suporte-card p {
    margin: 8px 0;
    color: #3d435f;
}

.tabela-config-wrap {
    overflow-x: auto;
}

.tabela-config {
    width: 100%;
    border-collapse: collapse;
}

.tabela-config th,
.tabela-config td {
    padding: 12px;
    border-bottom: 1px solid #e2e7f4;
    text-align: left;
}

.tabela-config th {
    color: #3e4095;
    background: #f3f5ff;
}

.perfil-badge {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.82rem;
    background: #eef2ff;
    color: #3e4095;
}

.perfil-admin {
    background: #e9f8ef;
    color: #1e7e45;
}

.mensagem-erro,
.mensagem-sucesso {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-weight: 700;
}

.mensagem-erro {
    background: #ffe8e8;
    color: #9f2525;
}

.mensagem-sucesso {
    background: #e8f8ef;
    color: #1e7e45;
}

@media (max-width: 820px) {
    .config-grid,
    .config-form {
        grid-template-columns: 1fr;
    }
}

/* Home - Central de TI */
.home-body{background:#edf1f8;color:#202842}.home-body .page-overlay{padding:24px 16px 40px;background:radial-gradient(circle at 85% 5%,rgba(62,64,149,.14),transparent 30%),rgba(242,245,251,.9)}.home-container{max-width:1380px;background:rgba(249,251,255,.94);border-top:0;padding:24px 30px 36px}.home-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;margin:26px 0;padding:34px 38px;border-radius:24px;color:#fff;background:linear-gradient(120deg,#31347f,#5558bb 65%,#7779d7);box-shadow:0 20px 40px rgba(62,64,149,.22)}.home-hero:after{content:"";position:absolute;width:290px;height:290px;border:55px solid rgba(255,255,255,.07);border-radius:50%;right:-70px;top:-110px}.home-eyebrow,.home-section-title span,.home-panel-head span{font-size:.72rem;letter-spacing:.13em;font-weight:800;opacity:.75}.home-hero h2{font-size:2rem;margin:8px 0}.home-hero p{margin:0;color:#e8e9ff}.home-hero-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.15);z-index:1}.home-hero-icon svg{width:34px;height:34px}.home-section{margin:32px 0}.home-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.home-section-title h2,.home-panel-head h2{margin:4px 0 0;color:#292d68;font-size:1.35rem}.home-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.home-module{display:grid;grid-template-columns:50px 1fr 20px;align-items:center;gap:13px;min-height:112px;padding:19px;border-radius:18px;background:#fff;color:#28304b;text-decoration:none;border:1px solid #e4e8f2;box-shadow:0 7px 18px rgba(38,49,83,.06);transition:.22s ease}.home-module:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(38,49,83,.13);border-color:var(--accent)}.home-module>svg:first-child{box-sizing:content-box;padding:12px;border-radius:14px;color:#fff;background:var(--accent)}.home-module>svg:last-child{width:17px;color:#9299ad}.home-module h3{margin:0 0 5px;font-size:1rem}.home-module p{margin:0;color:#777e92;font-size:.8rem}.purple{--accent:#5b5fc7}.blue{--accent:#2786d5}.orange{--accent:#e59a23}.green{--accent:#36a269}.cyan{--accent:#19a6a1}.indigo{--accent:#7357c7}.pink{--accent:#d94f82}.home-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.home-kpi{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;padding:18px;border:1px solid #e5e9f3;background:#fff;border-radius:17px;box-shadow:0 6px 16px rgba(32,42,72,.05)}.home-kpi svg{grid-row:1/3;padding:9px;box-sizing:content-box;border-radius:12px;color:#3e4095;background:#eff0ff}.home-kpi strong{font-size:1.6rem;color:#252c47;line-height:1}.home-kpi span{font-size:.77rem;color:#747b90;margin-top:5px}.home-kpi.danger svg{color:#c33c45;background:#fff0f0}.home-two-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin:28px 0}.home-panel,.home-chart{background:#fff;border:1px solid #e3e8f2;border-radius:20px;padding:22px;box-shadow:0 8px 22px rgba(34,45,76,.06)}.home-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #edf0f5}.home-panel-head>svg{color:#6266bb}.alert-list a{display:grid;grid-template-columns:38px 1fr 18px;gap:12px;align-items:center;padding:13px 4px;text-decoration:none;color:#293049;border-bottom:1px solid #f0f2f7}.alert-list a>svg:first-child{padding:8px;box-sizing:content-box;border-radius:10px;color:#d48b1f;background:#fff5e3}.alert-list strong,.alert-list span{display:block}.alert-list span{color:#7e8496;font-size:.8rem;margin-top:3px}.home-empty{text-align:center;padding:25px;color:#778095}.home-empty svg{color:#36a269}.service-row{display:flex;justify-content:space-between;align-items:center;padding:17px 2px;border-bottom:1px solid #edf0f5}.service-row span{display:flex;align-items:center;gap:10px;font-weight:700}.service-row svg{color:#5c60b7}.service-row b{font-size:.8rem}.online{color:#26905a}.unstable{color:#d08a19}.integration-note{display:block;margin-top:16px;color:#8b91a2}.home-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-chart{height:330px}.home-chart h3{height:30px;margin:0;color:#343a64;font-size:1rem}.home-chart canvas{max-height:250px}.timeline>div{display:grid;grid-template-columns:48px 14px 1fr;gap:10px;align-items:center;min-height:44px}.timeline time{font-size:.75rem;color:#747b91}.timeline>div>span{width:9px;height:9px;border:2px solid #6266bc;border-radius:50%;position:relative}.timeline>div>span:after{content:"";position:absolute;width:1px;height:35px;background:#dfe2ef;top:8px;left:2px}.timeline p{font-size:.87rem}.recent-list a{display:grid;grid-template-columns:45px 1fr auto;gap:9px;align-items:center;padding:13px 2px;border-bottom:1px solid #edf0f5;text-decoration:none;color:#303750}.recent-list b{color:#5559ae}.recent-list span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-list em{font-style:normal;font-size:.7rem;padding:5px 8px;border-radius:20px;background:#eff1ff;color:#5054a8}.quick-actions{display:flex;flex-wrap:wrap;gap:11px}.quick-actions a{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;text-decoration:none;color:#fff;background:#3e4095;font-weight:700;font-size:.86rem;transition:.2s}.quick-actions a:hover{transform:translateY(-2px);background:#2f3177}.quick-actions svg{width:17px}.home-body .modulos-dropdown a svg{width:27px;height:27px;color:#3e4095}
/* Painel unificado e modo de exibição para monitoramento */
.monitoring-dashboard {
    margin: 30px 0;
    padding: 22px;
    border: 1px solid #dfe5f1;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,247,253,.96));
    box-shadow: 0 12px 32px rgba(34,45,76,.08);
}

.monitoring-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e5e9f2;
}

.monitoring-toolbar > div > span {
    color: #6266bb;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.monitoring-toolbar h2 {
    margin: 5px 0 3px;
    color: #292d68;
    font-size: 1.45rem;
}

.monitoring-toolbar p {
    margin: 0;
    color: #747b90;
    font-size: .88rem;
}

.monitoring-toggle {
    width: auto;
    min-width: 210px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex: 0 0 auto;
    background: linear-gradient(135deg, #3e4095, #5a5dd6);
    box-shadow: 0 8px 18px rgba(62,64,149,.2);
}

.monitoring-toggle svg {
    width: 19px;
    height: 19px;
}

.monitoring-content .monitoring-indicators {
    margin-top: 24px;
}

.monitoring-content .home-two-columns {
    align-items: stretch;
    margin-bottom: 0;
}

.monitoring-content .home-panel {
    height: 100%;
}

.home-body.monitoring-mode {
    overflow: auto;
    background: #edf1f8;
}

.monitoring-mode .page-overlay {
    min-height: 100vh;
    padding: 0;
    background: radial-gradient(circle at 85% 5%, rgba(62,64,149,.14), transparent 30%), #edf1f8;
}

.monitoring-mode .home-container {
    max-width: none;
    min-height: 100vh;
    padding: 18px;
    border-radius: 0;
    background: transparent;
}

.monitoring-mode .home-container > :not(.monitoring-dashboard) {
    display: none !important;
}

.monitoring-mode .monitoring-dashboard {
    min-height: calc(100vh - 36px);
    margin: 0;
    display: flex;
    flex-direction: column;
}

.monitoring-mode .monitoring-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.monitoring-mode .monitoring-indicators {
    margin: 20px 0 16px;
}

.monitoring-mode .home-kpis {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.monitoring-mode .home-kpi {
    min-height: 82px;
    padding: 14px;
}

.monitoring-mode .home-two-columns {
    flex: 1;
    margin-top: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

@media(max-width:900px) {
    .monitoring-mode .home-two-columns {
        grid-template-columns: 1fr;
    }
}

@media(max-width:760px) {
    .monitoring-dashboard {
        padding: 16px;
    }

    .monitoring-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .monitoring-toggle {
        width: 100%;
    }

    .monitoring-mode .home-container {
        padding: 8px;
    }

    .monitoring-mode .monitoring-dashboard {
        min-height: calc(100vh - 16px);
    }
}
@media(max-width:1100px){.home-modules{grid-template-columns:repeat(3,1fr)}.home-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.home-container{padding:16px}.home-hero{padding:26px 22px}.home-hero h2{font-size:1.55rem}.home-hero-icon{display:none}.home-modules,.home-kpis,.home-charts,.home-two-columns{grid-template-columns:1fr}.home-module{min-height:96px}.home-chart{height:300px}.header-right .usuario-info,.grid-btn{display:none}.quick-actions{display:grid;grid-template-columns:1fr}.quick-actions a{justify-content:center}}@media(max-width:420px){.home-body .page-overlay{padding:0}.home-container{border-radius:0}.top-header{padding:12px}.header-logo{display:none}.home-hero{border-radius:18px}.home-section{margin:25px 0}}
/* Monitoramento de servidores da Home */
.services-panel .service-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 16px;
    padding: 18px 2px;
}

.service-main {
    display: flex;
    align-items: center;
    gap: 12px;
}

.service-main > svg {
    box-sizing: content-box;
    width: 22px;
    height: 22px;
    padding: 9px;
    border-radius: 11px;
    color: #5559ae;
    background: #eff0ff;
}

.service-main strong,
.service-main small {
    display: block;
}

.service-main small {
    margin-top: 3px;
    color: #7e8496;
}

.service-status {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    background: #f1f3f7;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px currentColor;
    opacity: 0.85;
}

.service-status.online {
    color: #268551;
    background: #e9f8ef;
}

.service-status.instavel {
    color: #bd7910;
    background: #fff5df;
}

.service-status.desligado {
    color: #bc3942;
    background: #ffebec;
}

.service-status.verificando {
    color: #667085;
}

.service-status.verificando .status-dot {
    animation: service-pulse 1.2s ease-in-out infinite;
}

.service-endpoints {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-left: 52px;
}

.service-endpoints span {
    padding: 4px 8px;
    border-radius: 7px;
    color: #70778c;
    background: #f5f7fb;
    font-size: 0.72rem;
}

@keyframes service-pulse {
    50% { opacity: 0.3; }
}

@media (max-width: 520px) {
    .services-panel .service-row {
        grid-template-columns: 1fr;
    }

    .service-status {
        justify-self: start;
        margin-left: 52px;
    }

    .service-endpoints {
        padding-left: 52px;
    }
}
/* Disponibilidade da NF-e / SEFAZ-MG */
.service-status.fora_do_ar {
    color: #bc3942;
    background: #ffebec;
}

.service-status.sem_dados {
    color: #667085;
    background: #f1f3f7;
}

.sefaz-services {
    padding-left: 52px;
}

.sefaz-service {
    position: relative;
    padding-left: 19px !important;
}

.sefaz-service::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 7px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8b93a7;
    transform: translateY(-50%);
}

.sefaz-service.verde::before {
    background: #2e9d62;
}

.sefaz-service.amarela::before {
    background: #e3a226;
}

.sefaz-service.vermelho::before {
    background: #d14850;
}

/* Fluxo de conectividade dos indicadores WAN e NF-e */
.service-endpoints span.connectivity-wave,
.sefaz-service {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 7px;
}

.service-endpoints span.connectivity-wave::before,
.sefaz-service::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -65%;
    left: -72%;
    width: 58%;
    height: 230%;
    pointer-events: none;
    opacity: 0;
    border-radius: 45% 55% 50% 42%;
    transform: translate3d(0, 0, 0) rotate(8deg);
    animation: connectivity-wave-flow 3.8s linear infinite;
    will-change: transform, opacity;
}

.service-endpoints span.connectivity-wave.online::before,
.sefaz-service.verde::after {
    opacity: .72;
    background:
        radial-gradient(ellipse at 50% 45%, rgba(134, 239, 172, .48) 0 24%, rgba(34, 197, 94, .22) 46%, transparent 72%),
        linear-gradient(115deg, transparent 8%, rgba(22, 163, 74, .18) 48%, transparent 88%);
    box-shadow: 0 0 16px rgba(34, 197, 94, .18);
}

.service-endpoints span.connectivity-wave.offline::before,
.sefaz-service.vermelho::after,
.sefaz-service.amarela::after {
    opacity: .68;
    background:
        radial-gradient(ellipse at 50% 45%, rgba(252, 165, 165, .44) 0 24%, rgba(239, 68, 68, .20) 46%, transparent 72%),
        linear-gradient(115deg, transparent 8%, rgba(220, 38, 38, .17) 48%, transparent 88%);
    box-shadow: 0 0 16px rgba(239, 68, 68, .16);
}

.sefaz-service:nth-child(2n)::after {
    animation-delay: -1.1s;
}

.sefaz-service:nth-child(3n)::after {
    animation-delay: -2.2s;
}

@keyframes connectivity-wave-flow {
    0% {
        transform: translate3d(0, 0, 0) rotate(8deg) scale(.82);
        opacity: 0;
    }
    12% { opacity: .68; }
    50% {
        transform: translate3d(165%, -3%, 0) rotate(-5deg) scale(1.08);
        opacity: .76;
    }
    88% { opacity: .58; }
    100% {
        transform: translate3d(330%, 2%, 0) rotate(8deg) scale(.86);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-endpoints span.connectivity-wave::before,
    .sefaz-service::after {
        animation: none;
        left: 21%;
        opacity: .30;
    }
}

.contingency-warning {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 52px;
    padding: 10px 12px;
    border: 1px solid #f0c36b;
    border-radius: 10px;
    color: #8b5b08;
    background: #fff7e5;
    font-size: 0.78rem;
    font-weight: 700;
}

.contingency-warning[hidden] {
    display: none;
}

.contingency-warning svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
}

.sefaz-source {
    grid-column: 1 / -1;
    margin-left: 52px;
    color: #5559ae;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
}

.sefaz-source:hover {
    text-decoration: underline;
}
/* Modo monitoramento: todo o conteúdo sempre dentro da viewport */
.home-body.monitoring-mode,
.monitoring-mode .page-overlay,
.monitoring-mode .home-container {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

.monitoring-mode .home-container {
    padding: 8px;
}

.monitoring-mode .monitoring-dashboard {
    width: 100%;
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
    min-height: 0;
    max-height: none;
    padding: 12px;
    overflow: hidden;
}

.monitoring-mode .monitoring-toolbar {
    min-height: 48px;
    padding-bottom: 8px;
}

.monitoring-mode .monitoring-toolbar h2 {
    margin: 2px 0 0;
    font-size: 1.15rem;
}

.monitoring-mode .monitoring-toolbar p,
.monitoring-mode .monitoring-toolbar > div > span {
    font-size: .68rem;
}

.monitoring-mode .monitoring-toggle {
    min-width: 190px;
    height: 40px;
    padding: 8px 12px;
    font-size: .82rem;
}

.monitoring-mode .monitoring-content {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
}

.monitoring-mode .monitoring-indicators {
    min-height: 0;
    margin: 8px 0 0;
}

.monitoring-mode .monitoring-indicators .home-section-title {
    margin-bottom: 6px;
}

.monitoring-mode .monitoring-indicators .home-section-title h2 {
    margin-top: 1px;
    font-size: 1rem;
}

.monitoring-mode .monitoring-indicators .home-section-title span {
    font-size: .62rem;
}

.monitoring-mode .home-kpis {
    grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
    gap: 7px;
}

.monitoring-mode .home-kpi {
    min-height: 58px;
    padding: 8px;
    grid-template-columns: 32px 1fr;
    border-radius: 11px;
}

.monitoring-mode .home-kpi svg {
    width: 16px;
    height: 16px;
    padding: 6px;
}

.monitoring-mode .home-kpi strong {
    font-size: 1.15rem;
}

.monitoring-mode .home-kpi span {
    margin-top: 2px;
    font-size: .66rem;
}

.monitoring-mode .home-two-columns {
    min-height: 0;
    margin: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

.monitoring-mode .home-panel {
    min-height: 0;
    padding: 10px;
    border-radius: 14px;
    overflow: hidden;
}

.monitoring-mode .home-panel-head {
    min-height: 38px;
    padding-bottom: 6px;
}

.monitoring-mode .home-panel-head h2 {
    margin-top: 1px;
    font-size: 1rem;
}

.monitoring-mode .home-panel-head span {
    font-size: .6rem;
}

.monitoring-mode .alert-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 10px;
}

.monitoring-mode .alert-list a {
    min-height: 42px;
    grid-template-columns: 28px 1fr 13px;
    gap: 6px;
    padding: 4px 2px;
}

.monitoring-mode .alert-list a > svg:first-child {
    width: 14px;
    height: 14px;
    padding: 5px;
}

.monitoring-mode .alert-list strong {
    font-size: .72rem;
    line-height: 1.15;
}

.monitoring-mode .alert-list span {
    margin-top: 1px;
    font-size: .64rem;
    line-height: 1.15;
}

.monitoring-mode .services-panel .service-row {
    gap: 3px 8px;
    padding: 6px 1px;
}

.monitoring-mode .service-main {
    gap: 7px;
}

.monitoring-mode .service-main > svg {
    width: 15px;
    height: 15px;
    padding: 5px;
}

.monitoring-mode .service-main strong {
    font-size: .75rem;
}

.monitoring-mode .service-main small,
.monitoring-mode .service-endpoints span,
.monitoring-mode .service-status,
.monitoring-mode .integration-note,
.monitoring-mode .sefaz-source {
    font-size: .62rem;
}

.monitoring-mode .service-status {
    padding: 4px 7px;
}

.monitoring-mode .service-endpoints,
.monitoring-mode .sefaz-services {
    gap: 3px;
    padding-left: 32px;
}

.monitoring-mode .service-endpoints span {
    padding: 2px 5px;
}

.monitoring-mode .integration-note {
    margin-top: 6px;
}

.monitoring-mode .contingency-warning {
    margin-left: 32px;
    padding: 5px 7px;
    font-size: .64rem;
}

/* A escala cria espaço lógico adicional em telas com pouca altura. */
@media (max-height: 800px) {
    .monitoring-mode .monitoring-dashboard {
        width: 121.9513%;
        height: calc(121.9513dvh - 19.5122px);
        transform: scale(.82);
        transform-origin: top left;
    }
}

@media (max-height: 650px) {
    .monitoring-mode .monitoring-dashboard {
        width: 147.0589%;
        height: calc(147.0589dvh - 23.5294px);
        transform: scale(.68);
    }
}

@media (max-width: 700px) {
    .monitoring-mode .monitoring-toolbar {
        flex-direction: row;
        align-items: center;
    }

    .monitoring-mode .monitoring-toolbar p {
        display: none;
    }

    .monitoring-mode .monitoring-toggle {
        width: auto;
        min-width: 155px;
    }
}
/* Monitoramento legível: até 5 indicadores por fileira, sem redução de escala */
@media all {
    .monitoring-mode .monitoring-dashboard {
        width: min(100%, 1600px);
        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);
        margin: 0 auto;
        transform: none;
    }

    .monitoring-mode .home-kpis {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 8px;
    }

    .monitoring-mode .home-kpi {
        min-height: 64px;
        padding: 10px;
        grid-template-columns: 36px 1fr;
    }

    .monitoring-mode .home-kpi svg {
        width: 18px;
        height: 18px;
        padding: 7px;
    }

    .monitoring-mode .home-kpi strong {
        font-size: 1.3rem;
    }

    .monitoring-mode .home-kpi span {
        font-size: .72rem;
    }

    .monitoring-mode .alert-list a {
        min-height: 48px;
        grid-template-columns: 32px 1fr 15px;
        gap: 8px;
        padding: 6px 3px;
    }

    .monitoring-mode .alert-list a > svg:first-child {
        width: 16px;
        height: 16px;
        padding: 6px;
    }

    .monitoring-mode .alert-list strong {
        font-size: .8rem;
        line-height: 1.25;
    }

    .monitoring-mode .alert-list span {
        font-size: .72rem;
        line-height: 1.25;
    }

    .monitoring-mode .services-panel .service-row {
        gap: 5px 10px;
        padding: 8px 2px;
    }

    .monitoring-mode .service-main {
        gap: 9px;
    }

    .monitoring-mode .service-main > svg {
        width: 18px;
        height: 18px;
        padding: 6px;
    }

    .monitoring-mode .service-main strong {
        font-size: .82rem;
    }

    .monitoring-mode .service-main small,
    .monitoring-mode .service-endpoints span,
    .monitoring-mode .service-status,
    .monitoring-mode .integration-note,
    .monitoring-mode .sefaz-source {
        font-size: .7rem;
    }

    .monitoring-mode .service-status {
        padding: 5px 8px;
    }

    .monitoring-mode .service-endpoints span {
        padding: 3px 6px;
    }
}

@media (max-width: 900px) {
    .monitoring-mode .home-kpis {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
/* No modo monitoramento, priorizar somente avisos e disponibilidade */
.monitoring-mode .monitoring-indicators {
    display: none;
}

.monitoring-mode .monitoring-content {
    grid-template-rows: minmax(0, 1fr);
    padding-top: 8px;
}

.monitoring-mode .home-two-columns {
    height: 100%;
}

.monitoring-mode .alert-list {
    grid-template-columns: 1fr;
}

.monitoring-mode .alert-list a {
    min-height: 54px;
}

.monitoring-mode .alert-list strong,
.monitoring-mode .service-main strong {
    font-size: .9rem;
}

.monitoring-mode .alert-list span,
.monitoring-mode .service-main small,
.monitoring-mode .service-endpoints span,
.monitoring-mode .service-status,
.monitoring-mode .integration-note,
.monitoring-mode .sefaz-source {
    font-size: .78rem;
}

.monitoring-mode .services-panel .service-row {
    padding: 12px 3px;
}

/* VISUALIZACAO SOMENTE LEITURA DE CHAMADOS */
.visualizacao-acoes { display: flex; gap: 12px; align-items: center; }
.visualizacao-acoes .btn-editar, .visualizacao-acoes .btn-sair {
    width: 190px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.chamado-visualizacao { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.chamado-visualizacao-item { padding: 16px; border: 1px solid #e4e8f5; border-radius: 12px; background: #f8f9ff; min-width: 0; }
.chamado-visualizacao-item span { display: block; margin-bottom: 7px; color: #6c7293; font-size: 0.88rem; font-weight: 700; }
.chamado-visualizacao-item strong, .chamado-visualizacao-item p { margin: 0; color: #2f3558; line-height: 1.5; overflow-wrap: anywhere; }
.chamado-visualizacao-destaque, .chamado-visualizacao-descricao { grid-column: 1 / -1; }
.chamado-visualizacao-descricao { min-height: 120px; }
@media (max-width: 900px) { .chamado-visualizacao { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
    .visualizacao-acoes, .chamado-visualizacao { display: grid; grid-template-columns: 1fr; width: 100%; }
    .visualizacao-acoes .btn-editar, .visualizacao-acoes .btn-sair { width: 100%; }
}

/* Confirmação personalizada após a criação de um chamado */
.modal-chamado-aberto { overflow: hidden; }
.modal-chamado-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(24, 26, 58, 0.58);
    backdrop-filter: blur(3px);
    animation: modal-overlay-entrada 0.2s ease-out;
}
.modal-chamado-overlay.fechando { opacity: 0; transition: opacity 0.18s ease; }
.modal-chamado {
    width: min(100%, 460px);
    overflow: hidden;
    border: 1px solid rgba(62, 64, 149, 0.16);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 24px 65px rgba(24, 26, 58, 0.3);
    animation: modal-chamado-entrada 0.24s ease-out;
}
.modal-chamado-topo {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 78px;
    padding: 14px 24px;
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    color: #ffffff;
}
.modal-chamado-topo img {
    width: 76px;
    max-height: 50px;
    object-fit: contain;
    padding: 5px;
    border-radius: 10px;
    background: #ffffff;
}
.modal-chamado-topo span {
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, 0.35);
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.modal-chamado-conteudo { padding: 30px; text-align: center; }
.modal-chamado-icone {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 15px;
    border: 5px solid #fff4d8;
    border-radius: 50%;
    background: var(--cor-secundaria);
    color: var(--cor-primaria);
    font-size: 1.6rem;
}
.modal-chamado-etiqueta {
    margin: 0 0 6px;
    color: var(--cor-sucesso);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.modal-chamado-conteudo h2 { margin: 0; color: var(--cor-primaria); font-size: 1.7rem; }
.modal-chamado-conteudo > p:last-of-type {
    margin: 12px 0 26px;
    color: #5e6480;
    font-weight: normal;
    line-height: 1.5;
}
.modal-chamado-acoes { display: flex; justify-content: center; gap: 12px; }
.modal-btn-principal,
.modal-btn-secundario {
    min-width: 150px;
    padding: 12px 18px;
    border: 0;
    border-radius: 11px;
    font: inherit;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.modal-btn-principal {
    background: linear-gradient(135deg, var(--cor-primaria), #565ac4);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(62, 64, 149, 0.24);
}
.modal-btn-principal:hover,
.modal-btn-principal:focus-visible {
    background: linear-gradient(135deg, var(--cor-hover-primaria), #4548a8);
    color: #ffffff;
    transform: translateY(-1px);
}
.modal-btn-secundario { border: 1px solid #e4c36c; background: #fff4d8; color: #5f4a00; }
.modal-btn-secundario:hover,
.modal-btn-secundario:focus-visible {
    background: var(--cor-secundaria);
    color: var(--cor-primaria);
    transform: translateY(-1px);
}
@keyframes modal-overlay-entrada { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-chamado-entrada {
    from { opacity: 0; transform: translateY(12px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 520px) {
    .modal-chamado-conteudo { padding: 24px 20px; }
    .modal-chamado-acoes { flex-direction: column-reverse; }
    .modal-btn-principal, .modal-btn-secundario { width: 100%; }
}
/* Campos identificados e auditoria de exclusões */
.campo-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.campo-form label {
    color: #5f6786;
    font-size: 0.85rem;
    font-weight: 700;
}

.campo-form input,
.campo-form select,
.campo-form textarea {
    width: 100%;
}

.campo-form-largo {
    grid-column: 1 / -1;
}

.exclusao-card {
    border-left: 4px solid var(--cor-perigo);
}

.exclusao-card form {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.exclusao-card textarea {
    min-height: 100px;
}

.mensagem-erro {
    color: var(--cor-perigo);
    font-weight: 700;
}

.log-exclusoes {
    margin-top: 22px;
}

.log-exclusoes-lista {
    display: grid;
    gap: 12px;
}

.log-exclusao-item {
    display: grid;
    grid-template-columns: 1.2fr 1.5fr 1fr 1.2fr 1.5fr;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e4e8f3;
    border-radius: 14px;
    background: #fbfcff;
}

.log-exclusao-item div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.log-exclusao-item strong {
    color: #30365d;
    font-size: 0.85rem;
}

.log-exclusao-item span {
    color: #68708e;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .log-exclusao-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .log-exclusao-item { grid-template-columns: 1fr; }
}
/* Inventário modular e dinâmico */
.inventario-abas {
    display: flex;
    gap: 8px;
    margin: 18px 0;
    padding: 6px;
    border: 1px solid #e3e7f2;
    border-radius: 16px;
    background: #f7f8fc;
    overflow-x: auto;
}

.inventario-abas button {
    flex: 1;
    min-width: max-content;
    padding: 12px 16px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #616985;
    font-weight: 700;
    cursor: pointer;
}

.inventario-abas button.ativo {
    color: #35398c;
    background: #fff;
    box-shadow: 0 4px 14px rgba(46, 50, 115, .1);
}

.inventario-abas button span {
    display: inline-flex;
    min-width: 22px;
    justify-content: center;
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #ebeefe;
    font-size: .76rem;
}

.campos-especificos {
    grid-column: 1 / -1;
    margin: 4px 0;
    padding: 18px;
    border: 1px solid #dfe4f2;
    border-radius: 16px;
    background: linear-gradient(180deg, #fafbff, #f6f8fd);
}

.campos-especificos[hidden],
[data-tab-panel][hidden] { display: none !important; }

.campos-especificos legend {
    padding: 0 8px;
    color: #3e4095;
    font-weight: 800;
}

.campos-especificos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.anexo-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.anexos-lista {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.anexo-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid #e3e7f2;
    border-radius: 12px;
    background: #fbfcff;
}

.anexo-info { display: grid; gap: 4px; min-width: 0; }
.anexo-info strong { color: #3e4095; overflow-wrap: anywhere; }
.anexo-info span { color: #747c98; font-size: .85rem; }
.anexo-acoes { display: flex; gap: 8px; flex-shrink: 0; }
.anexo-acoes a {
    padding: 8px 12px;
    border-radius: 9px;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
}
.btn-visualizar { color: #fff; background: #3e4095; }
.btn-baixar { color: #3e4095; border: 1px solid #cfd4e8; background: #fff; }
.componentes-lista { display: grid; gap: 12px; }
.componente-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 16px;
    border: 1px solid #e2e6f1;
    border-radius: 14px;
    background: #fbfcff;
}
.componente-item > div { display: flex; flex-direction: column; gap: 5px; }
.componente-tipo { color: #565ac4; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.componente-item small { color: #747c98; }
.componente-inativo { opacity: .72; background: #f5f6f9; }
.componente-item details { min-width: 260px; }
.componente-item summary { color: #3e4095; font-weight: 700; cursor: pointer; text-align: right; }
.componente-item details form { display: grid; gap: 10px; margin-top: 12px; }

@media (max-width: 900px) {
    .campos-especificos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .anexo-form { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .campos-especificos-grid, .componente-item { grid-template-columns: 1fr; }
    .componente-item details { min-width: 0; }
    .componente-item summary { text-align: left; }
    .anexos-lista a { flex-direction: column; }
}
/* Padrão visual compartilhado com a Home */
.module-body {
    background: #edf1f8;
    color: #202842;
}

.module-body .page-overlay {
    padding: 24px 16px 40px;
    background: radial-gradient(circle at 85% 5%, rgba(62,64,149,.14), transparent 30%), rgba(242,245,251,.9);
}

.module-body .container {
    max-width: 1380px;
    padding: 28px 30px 36px;
    border-top: 0;
    background: rgba(249,251,255,.94);
}

.module-hero {
    margin-top: 24px;
    margin-bottom: 28px;
}

.module-hero-symbol {
    font-size: 2rem;
    line-height: 1;
}

.module-top-header .btn-sair-header {
    width: auto;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 10px;
    text-decoration: none;
}


@media (max-width: 760px) {
    .module-body .page-overlay { padding: 0; }
    .module-body .container { padding: 16px; border-radius: 0; }
    .module-top-header { margin: -16px -16px 20px; }
    .module-top-header .usuario-info { display: none; }
    .module-hero { margin: 18px 0 24px; }
}
/* Ícone de Chamados reutilizado no hero */
.module-hero-symbol .modulo-icone {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #fff;
    position: relative;
}
.module-hero-symbol .modulo-icone::before,
.module-hero-symbol .modulo-icone::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}
.module-hero-symbol .modulo-chamados::before {
    width: 18px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 4px;
}
.module-hero-symbol .modulo-chamados::after {
    width: 7px;
    height: 7px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    bottom: 7px;
    left: 8px;
    transform: rotate(-20deg);
}
/* Ações internas dos cards */
.card-title-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.card-title-actions h2 { margin: 0; }
.card-title-actions .btn-editar {
    width: auto;
    min-height: 40px;
    padding: 9px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
@media (max-width: 560px) {
    .card-title-actions { align-items: stretch; flex-direction: column; }
    .card-title-actions .btn-editar { width: 100%; }
}
/* Vinculo bidirecional entre inventario e estoque */
.vinculo-form { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin-top: 18px; }
.vinculo-form select { flex: 1 1 420px; min-height: 44px; }
.estoque-vinculo-intro { color: #657080; margin: 6px 0 0; }
.estoque-vinculos-lista, .equipamentos-vinculados { display: grid; gap: 12px; }
.estoque-vinculo-card, .equipamentos-vinculados article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; border: 1px solid #dfe4ea; border-left: 5px solid #3e4095; border-radius: 12px; background: #fff; }
.estoque-vinculo-card.estoque-card-baixo { border-left-color: #f8b130; }
.estoque-vinculo-card.estoque-card-sem { border-left-color: #d9534f; background: #fff8f8; }
.estoque-vinculo-card h3 { margin: 5px 0; }
.estoque-vinculo-card p, .equipamentos-vinculados span { display: block; margin: 0; color: #657080; }
.estoque-vinculo-saldo { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.estoque-vinculo-saldo > strong { font-size: 1.8rem; color: #252763; }
.estoque-vinculo-acoes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.estoque-vinculo-acoes form { margin: 0; }
.estoque-equipamentos { margin: 15px 0; padding: 12px 14px; border-radius: 9px; background: #f1f3fb; }
.estoque-equipamentos > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.estoque-equipamentos a { padding: 6px 10px; border-radius: 999px; background: #fff; color: #343681; text-decoration: none; font-size: .88rem; font-weight: 600; }
@media (max-width: 760px) { .estoque-vinculo-card, .equipamentos-vinculados article { align-items: flex-start; flex-direction: column; } }


/* Painel de estatísticas dos chamados */
.chamados-hero { align-items: center; }
.chamados-hero-acoes { display: flex; align-items: center; gap: 16px; }
.chamados-estatisticas-btn { padding: 0 20px; border-radius: 12px; color: #fff; text-decoration: none; font-weight: 800; }
.chamados-estatisticas-btn:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 11px 24px rgba(62,64,149,.28); }
.estatisticas-filtros { margin-top: 22px; }
.estatisticas-filtros .card-title-actions p, .estatisticas-tabela-card .card-title-actions p { margin: 5px 0 0; color: #69708c; }
.estatisticas-filtro-form { display: grid; grid-template-columns: minmax(140px,.65fr) minmax(140px,.65fr) minmax(280px,1.8fr) minmax(170px,1fr) auto; gap: 14px; align-items: end; }
.estatisticas-filtro-form .campo-filtro { width: 100%; }
.estatisticas-filtro-form input, .estatisticas-filtro-form select { width: 100%; min-height: 46px; }
.estatisticas-filtro-form .acoes-filtro { flex-wrap: nowrap; align-self: end; }
.filtro-ativo-badge { padding: 7px 11px; border-radius: 999px; background: #e8e9ff; color: #3e4095; font-size: .82rem; font-weight: 800; }
.estatisticas-cards { grid-template-columns: repeat(6,minmax(0,1fr)); }
.estatisticas-cards .dash-value { font-size: clamp(1.35rem,2vw,2rem); }
.estatisticas-destaques { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 20px 0; }
.estatisticas-destaques article { display: grid; gap: 6px; padding: 20px; border: 1px solid #e2e5f1; border-left: 5px solid #3e4095; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(37,42,85,.06); }
.estatisticas-destaques span, .estatisticas-destaques small { color: #707691; }
.estatisticas-destaques strong { color: #30336f; line-height: 1.35; }
.estatisticas-graficos { grid-template-columns: repeat(2,minmax(0,1fr)); }
.estatisticas-graficos .grafico-card-largo { grid-column: span 1; }
.estatisticas-graficos .grafico-wrapper { height: 290px; }
.estatisticas-graficos .grafico-wrapper-alto { height: 360px; }
.estatisticas-vazio { margin-top: 20px; text-align: center; padding: 42px; }
.estatisticas-vazio strong { color: #3e4095; font-size: 1.25rem; }
.estatisticas-vazio p { color: #707691; }
.estatisticas-tabela-card { margin-top: 22px; }
.estatisticas-tabela-wrap { overflow-x: auto; margin-top: 16px; }
.estatisticas-tabela { width: 100%; border-collapse: collapse; min-width: 850px; }
.estatisticas-tabela th { padding: 12px 14px; background: #f1f2fb; color: #555c7b; text-align: left; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; }
.estatisticas-tabela td { padding: 13px 14px; border-bottom: 1px solid #e7e9f2; color: #3b405f; vertical-align: middle; }
.estatisticas-tabela td:nth-child(3) { max-width: 420px; }
.estatisticas-tabela td a { color: #3e4095; font-weight: 800; text-decoration: none; }
@media (max-width: 1180px) {
    .estatisticas-filtro-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .estatisticas-filtro-form .acoes-filtro { grid-column: 1 / -1; }
    .estatisticas-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .chamados-hero, .chamados-hero-acoes { align-items: stretch; flex-direction: column; }
    .chamados-hero-acoes .home-hero-icon { display: none; }
    .chamados-estatisticas-btn { width: 100%; }
    .estatisticas-filtro-form, .estatisticas-cards, .estatisticas-destaques, .estatisticas-graficos { grid-template-columns: 1fr; }
    .estatisticas-filtro-form .acoes-filtro, .estatisticas-graficos .grafico-card-largo { grid-column: auto; }
}


/* Paginação compartilhada das listagens de chamados */
.paginacao { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.paginacao a, .paginacao > span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid #dde1ef; border-radius: 9px; background: #fff; color: #43486c; text-decoration: none; font-weight: 750; }
.paginacao a:hover { border-color: #3e4095; color: #3e4095; background: #f5f5ff; }
.paginacao a.ativo { border-color: #3e4095; background: #3e4095; color: #fff; box-shadow: 0 6px 14px rgba(62,64,149,.2); }
.paginacao .paginacao-controle { min-width: 92px; }
.paginacao a.desabilitado { pointer-events: none; opacity: .45; background: #f1f2f6; }
.paginacao > span { border: 0; background: transparent; min-width: 24px; padding: 0; }
@media (max-width: 560px) { .paginacao { gap: 5px; } .paginacao .paginacao-controle { min-width: 76px; font-size: .82rem; } }

/* Classificação histórica dos chamados */
.chamado-tipo-historico { display: inline-flex; margin: 3px 0 8px; padding: 5px 9px; border-radius: 999px; background: #eef0ff; color: #3e4095; font-size: .76rem; font-weight: 750; line-height: 1.3; }
.estatistica-titulo-original { display: block; margin-top: 5px; color: #747a94; font-weight: 500; line-height: 1.35; }

.timeline>div.timeline-item{align-items:start;min-height:72px;padding:9px 0}
.timeline-item time{padding-top:3px}
.timeline-item>span{margin-top:5px}
.timeline-item>span:after{height:63px}
.timeline-item:last-child>span:after{display:none}
.timeline-conteudo{display:grid;gap:4px;min-width:0}
.timeline-registro{display:flex;align-items:baseline;gap:7px;min-width:0;color:#292d68;text-decoration:none}
.timeline-registro strong{flex:0 0 auto;color:#3e4095;font-size:.77rem}
.timeline-registro span{display:-webkit-box;overflow:hidden;font-weight:700;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.timeline-registro:hover span{color:#3e4095;text-decoration:underline}
.timeline-conteudo p{margin:0;color:#343a56;line-height:1.35}
.timeline-conteudo small{color:#777e92;font-size:.74rem;line-height:1.35}
.recent-list em.tag-aberto{background:linear-gradient(135deg,#d9534f,#c9302c);color:#fff;border:1px solid #b52b27;box-shadow:0 4px 10px rgba(217,83,79,.25)}
.recent-list em.tag-em-andamento{background:linear-gradient(135deg,#f8b130,#e49b18);color:#2c2c2c;border:1px solid #d68b00;box-shadow:0 4px 10px rgba(248,177,48,.25)}
.recent-list em.tag-resolvido{background:linear-gradient(135deg,#2e9d62,#237a4b);color:#fff;border:1px solid #1f6b42;box-shadow:0 4px 10px rgba(46,157,98,.25)}

/* Login corporativo 2026 */ .login-page {
    margin:0;
    min-height:100vh;
    background:linear-gradient(100deg,rgba(17,26,70,.94) 0%,rgba(36,39,107,.78) 45%,rgba(13,20,52,.28) 100%),url('/static/TelaLogin.png') center/cover fixed;
    font-family:Inter,Segoe UI,sans-serif;
    color:#20243c
}
.login-shell {
    width:min(1180px,calc(100% - 48px));
    min-height:100vh;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 470px;
    align-items:center;
    gap:80px
}
.login-brand {
    color:#fff;
    max-width:550px
}
.login-kicker {
    display:inline-block;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.15em;
    color:#ffb323
}
.login-brand h1 {
    font-size:3.4rem;
    line-height:1.05;
    margin:20px 0 16px
}
.login-brand h1 strong {
    color:#ffb323
}
.login-brand p {
    font-size:1.15rem;
    color:#e5e8fa
}
.login-trust {
    display:flex;
    gap:24px;
    margin-top:34px;
    font-size:.86rem
}
.login-card {
    box-sizing:border-box;
    padding:40px;
    border-radius:28px;
    background:rgba(255,255,255,.96);
    box-shadow:0 30px 80px rgba(6,10,35,.35);
    backdrop-filter:blur(18px)
}
.login-card-head {
    display:flex;
    align-items:center;
    gap:16px
}
.login-card-head img {
    width:58px;
    height:58px;
    object-fit:contain
}
.login-card-head small {
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.12em;
    color:#777b91
}
.login-card-head h2 {
    margin:3px 0;
    font-size:1.9rem;
    color:#30337d
}
.login-subtitle {
    color:#6e7389;
    margin:20px 0 24px
}
.login-form label,.request-form label {
    display:grid;
    gap:7px;
    font-size:.78rem;
    font-weight:800;
    color:#444960
}
.login-form {
    gap:16px
}
.login-form input,.request-form input {
    box-sizing:border-box;
    width:100%;
    height:50px;
    border:1px solid #dce0eb;
    border-radius:12px;
    padding:0 15px;
    background:#f8f9fc;
    outline:none
}
.login-form input:focus,.request-form input:focus {
    border-color:#4b4eae;
    box-shadow:0 0 0 3px rgba(75,78,174,.12)
}
.login-submit {
    height:52px;
    border:0;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(120deg,#3e4095,#5e61c7);
    font-weight:800;
    font-size:.95rem;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(62,64,149,.25)
}
.login-submit span {
    float:right
}
.login-links {
    display:flex;
    justify-content:center;
    gap:7px;
    margin:19px -10px
}
.login-links button {
    border:0;
    background:none;
    color:#4549a0;
    font-size:.76rem;
    font-weight:750;
    cursor:pointer;
    padding:5px
}
.login-links button+button {
    border-left:1px solid #d9dce7
}
.login-card footer {
    text-align:center;
    border-top:1px solid #eceef4;
    padding-top:17px;
    font-size:.68rem;
    color:#9094a5
}
.login-alert {
    border-radius:10px;
    padding:11px 13px;
    margin:12px 0;
    font-size:.78rem
}
.login-alert.error {
    background:#fff0f1;
    color:#a12d3c
}
.login-alert.success {
    background:#edf9f1;
    color:#237447
}
.login-alert.info {
    background:#eef2ff;
    color:#353985
}
.login-modal {
    position:fixed;
    inset:0;
    display:none;
    place-items:center;
    padding:20px;
    background:rgba(12,17,45,.68);
    z-index:100
}
.login-modal.open {
    display:grid
}
.modal-panel {
    position:relative;
    width:min(560px,calc(100vw - 40px));
    box-sizing:border-box;
    padding:34px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 30px 80px #080d2f
}
.modal-panel.small {
    max-width:430px
}
.modal-panel h2 {
    margin:10px 0;
    color:#30337d
}
.modal-panel p {
    color:#6f7488
}
.modal-close {
    position:absolute;
    right:18px;
    top:14px;
    border:0;
    background:none;
    font-size:1.8rem;
    color:#777;
    cursor:pointer
}
.request-form {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-top:22px
}
.request-form .login-submit {
    grid-column:1/-1
}
.small .request-form {
    grid-template-columns:1fr
}
@media(max-width:850px) {
    .login-shell {
        grid-template-columns:1fr;
        width:min(470px,calc(100% - 30px));
        padding:30px 0
    }
    .login-brand {
        display:none
    }
    .login-card {
        padding:28px
    }
    .login-page {
        background-position:65% center
    }
}
@media(max-width:520px) {
    .request-form {
        grid-template-columns:1fr
    }
    .login-links {
        flex-wrap:wrap
    }
    .login-links button+button {
        border-left:0
    }
    .login-card {
        border-radius:20px
    }
}
.config-section-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px
}
.config-section-head h2 {
    margin:4px 0
}
.request-count {
    padding:7px 11px;
    border-radius:999px;
    background:#fff4dc;
    color:#96610d;
    font-weight:800;
    font-size:.76rem
}
.request-list {
    display:grid;
    gap:12px
}
.request-item {
    display:grid;
    grid-template-columns:minmax(220px,.8fr) auto minmax(400px,1.3fr);
    gap:18px;
    align-items:center;
    padding:17px;
    border:1px solid #e3e7f1;
    border-radius:15px;
    background:#fafbfe
}
.request-person {
    display:grid;
    gap:4px;
    font-size:.8rem
}
.request-person strong {
    color:#292d68;
    font-size:.95rem
}
.request-person span {
    color:#777d91
}
.request-person a {
    color:#474ba3
}
.request-status {
    padding:6px 10px;
    border-radius:20px;
    background:#fff2d8;
    color:#99640d;
    font-size:.73rem;
    font-weight:800
}
.request-review {
    display:grid;
    grid-template-columns:1fr 1fr 105px;
    gap:8px
}
.request-review input,.request-review select {
    min-width:0;
    height:38px;
    border:1px solid #d9deea;
    border-radius:8px;
    padding:0 9px;
    background:#fff
}
.request-review input[name=observacao],.request-review div {
    grid-column:1/-1
}
.request-review div {
    display:flex;
    justify-content:flex-end;
    gap:7px
}
.request-review button {
    border:0;
    border-radius:8px;
    padding:8px 12px;
    color:#fff;
    font-weight:750;
    cursor:pointer
}
.btn-review {
    background:#d28a18
}
.btn-deny {
    background:#b93d4c
}
.btn-accept {
    background:#258a55
}
.request-result {
    color:#666d80;
    font-size:.8rem
}
.password-request {
    padding:10px 12px;
    border-radius:10px;
    background:#f3f5fb
}
.cadastro-requests {
    margin-bottom:20px
}
@media(max-width:1050px) {
    .request-item {
        grid-template-columns:1fr auto
    }
    .request-review {
        grid-column:1/-1
    }
}
@media(max-width:650px) {
    .request-item {
        grid-template-columns:1fr
    }
    .request-review {
        grid-template-columns:1fr
    }
    .request-review input[name=observacao],.request-review div {
        grid-column:auto
    }
    .request-review div {
        flex-wrap:wrap;
        justify-content:start
    }
}

/* Ajustes do modal de acesso */
.login-page .modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: inline-grid;
    place-items: center;
    width: 32px;
    min-width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #747887;
    font-size: 24px;
    line-height: 1;
    box-shadow: none;
    transform: none;
}

.login-page .modal-close:hover {
    background: #f0f1f6;
    color: #34377f;
    transform: none;
}

.password-card {
    display: grid;
    grid-template-columns: minmax(240px, .7fr) minmax(520px, 1.3fr);
    gap: 28px;
    align-items: center;
    margin-bottom: 20px;
}

.password-card-copy p {
    margin: 8px 0 0;
    color: #6d7388;
}

.password-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.password-form label {
    display: grid;
    gap: 7px;
    color: #3d435f;
    font-size: .78rem;
    font-weight: 800;
}

.password-form input {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #ccd4e8;
    border-radius: 10px;
    background: #fbfcff;
}

.password-form button {
    width: auto;
    min-width: 135px;
    height: 44px;
    padding: 0 18px;
}

@media (max-width: 1050px) {
    .password-card,
    .password-form {
        grid-template-columns: 1fr;
    }
}

/* Inventário alinhado ao padrão visual de Chamados */
.filtro-form-inventario-padrao {
    display: grid;
    grid-template-columns: minmax(280px, 1.7fr) repeat(3, minmax(150px, .8fr)) auto;
    gap: 14px;
    align-items: end;
}

.filtro-form-inventario-padrao .campo-filtro {
    width: 100%;
}

.filtro-form-inventario-padrao input,
.filtro-form-inventario-padrao select {
    width: 100%;
    min-height: 48px;
}

.inventario-listagem-padrao .card-title-actions {
    margin-bottom: 18px;
}

.inventario-pedido-card .inventario-badge {
    flex: 0 0 auto;
}

.inventario-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inventario-pedido-card .inventario-observacao-card {
    margin: 16px 0 0;
}

@media (max-width: 1180px) {
    .filtro-form-inventario-padrao {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .filtro-form-inventario-padrao .campo-filtro-texto,
    .filtro-form-inventario-padrao .acoes-filtro {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .filtro-form-inventario-padrao,
    .inventario-info-grid {
        grid-template-columns: 1fr;
    }

    .filtro-form-inventario-padrao .campo-filtro-texto,
    .filtro-form-inventario-padrao .acoes-filtro {
        grid-column: auto;
    }
}
