/* ===================================== */
/* RESET */
/* ===================================== */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: Arial, sans-serif;
}



/* ===================================== */
/* BODY */
/* ===================================== */

body {

    background: #0f172a;

    color: white;

    overflow-x: hidden;
	overflow-y: auto;
	
}



/* ===================================== */
/* TOPO */
/* ===================================== */

.topo {

    height: 90px;

    padding: 10px 25px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: linear-gradient(
        90deg,
        #0f172a,
        #1e293b
    );

    border-bottom: none;

    box-shadow: 0 2px 10px rgba(0,0,0,0.4);

    z-index: 10;
}


/* ===================================== */
/* LOGO */
/* ===================================== */

.logo-area {

    gap: 8px !important;
}



.logo {

    width: 90px;

    height: 90px;

    border-radius: 16px;

    object-fit: contain;

    background: white;

    padding: 8px;

    box-shadow:
        0 0 20px rgba(255,255,255,0.25);

    border:
        2px solid rgba(255,255,255,0.2);
}



/* ===================================== */
/* TITULO CENTRAL */
/* ===================================== */

.titulo-central {

    text-align: center;
}

.titulo-central h2 {

    font-size: 34px;

    letter-spacing: 3px;
}

.titulo-central span {

    font-size: 14px;

    opacity: 0.8;
}



/* ===================================== */
/* PAINEL DIREITA */
/* ===================================== */

.painel-direita {

    text-align: right;
}

#relogio {

    font-size: 28px !important;
}

#dataAtual {

    font-size: 14px;

    margin-top: 5px;
}

.online {

    color: #22c55e;

    margin-top: 5px;

    font-weight: bold;
}



/* ===================================== */
/* TELAS */
/* ===================================== */

.tela {

    display: none;

    height: calc(100vh - 110px);

    padding: 12px;

position: relative;

}



.tela.ativa {

    display: block;

position: relative;

}



/* ===================================== */
/* KPIs */
/* ===================================== */

.kpis {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 8px;

    flex-wrap: nowrap;

    overflow: hidden;

    width: 100%;

    padding: 8px 10px;

    box-sizing: border-box;
}



/* ===================================== */
/* KPI CARD */
/* ===================================== */

.kpi-card {

    min-width: 92px;

    height: 78px;

    padding: 6px 8px;

    border-radius: 14px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    flex-shrink: 0;

    box-sizing: border-box;
}



.kpi-card h3 {

    font-size: 0.62rem;

    line-height: 1.05;

    text-align: center;

    margin-bottom: 5px;

    font-weight: bold;
}


.kpi-card span {

    font-size: 1.45rem;

    font-weight: bold;
}



/* ===================================== */
/* CORES KPI */
/* ===================================== */

.azul {

    background: #2563eb;
}

.amarelo {

    background: #eab308;

    color: white;
}

.laranja {

    background: #f97316;
}

.roxo {

    background: #a855f7;
}

.verde {

    background: #22c55e;
}

.vermelho {

    background: #ef4444;
}

.cinza {

    background: #64748b;
}

.ciano{

    background: #06b6d4 !important;

    color: #fff !important;

}


/* ===================================== */
/* TABELA */
/* ===================================== */

.tabela-container {

    height: calc(100vh - 220px);

    margin: 0 15px 15px 15px;

    overflow: hidden;

    border-radius: 14px;

    background: rgba(15,23,42,0.95);

    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
}



table {

    width: 100%;

    border-collapse: collapse;

    font-size: 15px;
}



/* ===================================== */
/* CABEÇALHO */
/* ===================================== */

th {

    padding: 8px 10px;

    text-align: left;

    color: #38bdf8;

    font-size: 11px;

    border-bottom:
        1px solid rgba(255,255,255,0.1);

    white-space: nowrap;

    position: sticky;

    top: 0;

    background: #0f172a;

    z-index: 10;
}



/* ===================================== */
/* LINHAS */
/* ===================================== */

td {

    padding: 6px 10px;

    border-bottom:
        1px solid rgba(255,255,255,0.05);

    font-size: 11px;

    white-space: nowrap;
}



tr:hover {

    background:
        rgba(255,255,255,0.05);
}



/* ===================================== */
/* STATUS TAGS */
/* ===================================== */

.status {

    padding: 3px 8px;

    border-radius: 20px;

    font-size: 9px;

    font-weight: bold;

    display: inline-block;

    text-align: center;

    min-width: 110px;
}



/* ===================================== */
/* STATUS CORES */
/* ===================================== */

.status-elaboracao {

    background: #38bdf8;

    color: white;
}

.status-contabil {

    background: #2563eb;

    color: white;
}

.status-orcamento {

    background: #eab308;

    color: black;
}

.status-documentos {

    background: #f97316;

    color: white;
}

.status-juridico {

    background: #a855f7;

    color: white;
}

.status-publicacao {

    background: #0891b2;

    color: white;
}

.status-verde {

    background: #22c55e;

    color: white;
}

.status-vermelho {

    background: #ef4444;

    color: white;
}

.status-cinza {

    background: #64748b;

    color: white;
}



/* ===================================== */
/* LINHAS POR STATUS */
/* ===================================== */

.linha-elaboracao {

    background:
        rgba(14,165,233,0.18);
}

.linha-contabil {

    background:
        rgba(37,99,235,0.20);
}

.linha-orcamento {

    background:
        rgba(234,179,8,0.18);
}

.linha-documentos {

    background:
        rgba(249,115,22,0.18);
}

.linha-juridico {

    background:
        rgba(168,85,247,0.18);
}

.linha-publicacao {

    background:
        rgba(15,23,42,0.25);
}

.linha-homologada {

    background:
        rgba(34,197,94,0.18);
}

.linha-fracassada {

    background:
        rgba(239,68,68,0.18);
}

.linha-deserto {

    background:
        rgba(100,116,139,0.18);
}



/* ===================================== */
/* ALERTAS */
/* ===================================== */

.alerta-ok {

    color: #22c55e;

    font-size: 16px;

    font-weight: bold;

    text-align: center;
}

.alerta-atencao {

    color: #eab308;

    font-size: 16px;

    font-weight: bold;

    text-align: center;
}

.alerta-critico {

    color: #ef4444;

    font-size: 16px;

    font-weight: bold;

    text-align: center;
}

.alerta-vencido {

    color: white;

    background: #ef4444;

    padding: 2px 8px;

    border-radius: 8px;

    font-size: 11px;

    font-weight: bold;

    text-align: center;
}



/* ===================================== */
/* TITULO LATERAL */
/* ===================================== */

.titulo-lateral-grid {

    min-width: 150px;

    height: 78px;

    padding: 10px 14px;

    font-size: 1.15rem;

    font-weight: bold;

    display: flex;

    align-items: center;

    justify-content: center;

    white-space: nowrap;

    border-radius: 14px;

    flex-shrink: 0;
}



/* ===================================== */
/* GRID ENTREGAS */
/* ===================================== */

.tabela-entregas {

    table-layout: fixed;
}



/* ===================================== */
/* COLUNAS */
/* ===================================== */

.col-empenho {

    width: 10%;
}

.col-fornecedor {

    width: 18%;
}

.col-data {

    width: 10%;
}

.col-produtos {

    width: 32%;

    white-space: normal !important;

    line-height: 1.4;
}

.col-observacao {

    width: 30%;

    white-space: normal !important;

    line-height: 1.4;
}

.col-notificada {

    width: 8%;

    text-align: center;

    font-weight: bold;
}



/* ===================================== */
/* LINHAS ENTREGAS */
/* ===================================== */

.tabela-entregas td {

    padding-top: 12px;

    padding-bottom: 12px;

    vertical-align: top;
}



/* ===================================== */
/* DASHBOARD PREMIUM */
/* ===================================== */

.dashboard-premium {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: repeat(2, 1fr);

    gap: 18px;

    height: 100%;
}



/* ===================================== */
/* CARD PREMIUM */
/* ===================================== */

.card-premium {

    position: relative;

    overflow: hidden;

    border-radius: 22px;

    background-size: cover;

    background-position: center;

    border: 1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 10px 30px rgba(0,0,0,0.40);

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 320px;
}



/* ===================================== */
/* OVERLAY */
/* ===================================== */

.overlay-card {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(15,23,42,0.20),
            rgba(15,23,42,0.85)
        );
}



/* ===================================== */
/* CONTEÚDO CARD */
/* ===================================== */

.conteudo-card {

    position: relative;

    z-index: 2;

    width: 100%;

    height: 100%;

    padding: 26px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    color: white;
}



.conteudo-card h2 {

    font-size: 32px;

    margin-bottom: 22px;

    letter-spacing: 3px;

    font-weight: bold;

    text-shadow:
        0 2px 10px rgba(0,0,0,0.45);
}



/* ===================================== */
/* RELÓGIO */
/* ===================================== */

.relogio-card {

    background:
        radial-gradient(circle, #1e293b, #0f172a);

    flex-direction: column;
}



.relogio-analogico {

    width: 260px;

    height: 260px;

    border-radius: 50%;

    border: 10px solid rgba(255,255,255,0.12);

    position: relative;

    background:
        radial-gradient(circle, #1e293b, #0f172a);

    box-shadow:
        0 0 25px rgba(255,255,255,0.12);
}



.ponteiro {

    position: absolute;

    left: 50%;

    bottom: 50%;

    transform-origin: bottom;

    transform: translateX(-50%) rotate(0deg);
}



.hora {

    width: 6px;

    height: 80px;

    background: white;
}

.minuto {

    width: 4px;

    height: 105px;

    background: #38bdf8;
}

.segundo {

    width: 2px;

    height: 115px;

    background: #ef4444;
}



.centro-relogio {

    width: 18px;

    height: 18px;

    border-radius: 50%;

    background: white;

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);
}



.hora-digital {

    margin-top: 20px;

    font-size: 34px;

    font-weight: bold;

    letter-spacing: 3px;
}



/* ===================================== */
/* FUNDOS PREMIUM */
/* ===================================== */

/* ===================================== */
/* FUNDOS PREMIUM */
/* ===================================== */

.clima-card {

    background-image:
        url('https://images.unsplash.com/photo-1506744038136-46273834b3fb');

    background-size: cover;

    background-position: center;
}



.cotacao-card {

    background-image:
        url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a');

    background-size: cover;

    background-position: center;
}



.calendario-card {

    background-image:
        url('https://images.unsplash.com/photo-1506784365847-bbad939e9335');

    background-size: cover;

    background-position: center;
}



.agenda-card {

    background-image:
        url('https://images.unsplash.com/photo-1497366754035-f200968a6e72');

    background-size: cover;

    background-position: center;
    
    
     display: flex;

    flex-direction: column;

    justify-content: center;
}



.mascote-card {

    background:
        linear-gradient(
            135deg,
            #1e293b,
            #0f172a
        );
}


/* ===================================== */
/* TEMPERATURA */
/* ===================================== */

.temperatura-premium {

    font-size: 92px;

    font-weight: bold;

    margin-bottom: 15px;

    text-shadow:
        0 2px 20px rgba(0,0,0,0.45);
}



/* ===================================== */
/* COTAÇÕES */
/* ===================================== */

.cotacao-item {

    font-size: 30px;

    margin-bottom: 18px;

    font-weight: bold;

    text-shadow:
        0 2px 10px rgba(0,0,0,0.45);
}



/* ===================================== */
/* CALENDÁRIO */
/* ===================================== */

.mes-premium {

    font-size: 70px;

    font-weight: bold;
}



.dia-premium {

    font-size: 170px;

    font-weight: bold;

    line-height: 1;
}



/* ===================================== */
/* AGENDA */
/* ===================================== */

.agenda-item {

    margin-bottom: 18px;

    padding: 16px;

    border-left: 5px solid #38bdf8;

    background: rgba(255,255,255,0.10);

    border-radius: 10px;

    font-size: 22px;

    font-weight: bold;

    backdrop-filter: blur(4px);
}



/* ===================================== */
/* MASCOTE */
/* ===================================== */

.mascote-conteudo {

    align-items: center;

    text-align: center;

    justify-content: flex-start;

    padding-top: 20px;
}



.mascote-premium {

    width: 150px;

    margin-bottom: 12px;

    filter:
        drop-shadow(
            0 0 20px rgba(255,255,255,0.15)
        );
}

/* ===================================== */
/* CORES EXCLUSIVAS KPI */
/* ===================================== */

.kpi-elaboracao {

    background: #38bdf8;
}



.kpi-contabil {

    background: #2563eb;
}



.kpi-publicacao {

    background: #0891b2;
}

/* ===================================== */
/* KPI TOTAL */
/* ===================================== */

.kpi-total {

    background: #14b8a6;
}

/* ===================================== */
/* KPI COMPRAS */
/* ===================================== */

.kpi-compras h3 {

    font-size: 8px;

    line-height: 1.0;
}

.mascote-conteudo h2 {

    font-size: 26px;

    margin-bottom: 10px;

    line-height: 1.2;
}



.mascote-conteudo p {

    font-size: 16px;

    line-height: 1.4;

    margin-top: 6px;
}

/* =========================================
   PAGINAÇÃO AUTOMÁTICA
========================================= */

#contador-paginas {
    position: absolute;
    right: 25px;
    top: 15px;
    color: #ffffffaa;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
}

/* =========================================
   CORES DAS LINHAS
========================================= */

.linha-normal {
    background: rgba(20, 40, 80, 0.35);
}

.linha-atencao {
    background: rgba(255, 193, 7, 0.25);
}

.linha-urgente {
    background: rgba(255, 140, 0, 0.30);
}

.linha-atrasada {
    background: rgba(220, 53, 69, 0.28);
}

/* =========================================
   LINHA CRÍTICA PISCANDO
========================================= */

.linha-critica {
    animation: piscarLinha 1.2s infinite;
}

@keyframes piscarLinha {

    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.55;
    }

    100% {
        opacity: 1;
    }
}

/* =========================================
   SELO NOTIFICADA
========================================= */

.selo-notificada {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 4px 12px;

    border-radius: 16px;

    background: #00c853;

    color: white;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.5px;

    white-space: nowrap;

    min-width: 105px;

    height: 24px;
}

/* ===================================== */
/* LINHA PENDENTE */
/* ===================================== */

.linha-pendente {

    background:
        rgba(255, 193, 7, 0.35);

    border-left:
        5px solid #ffc107;

    color: #fff;
}



/* ===================================== */
/* LINHA ATRASADA */
/* ===================================== */

.linha-atrasada {

    background:
        rgba(220, 53, 69, 0.40);

    border-left:
        5px solid #dc3545;

    color: #fff;

    animation:
        piscarLinha 1s infinite;
}



/* ===================================== */
/* PISCAR */
/* ===================================== */

@keyframes piscarLinha {

    0% {

        opacity: 1;
    }

    50% {

        opacity: 0.55;
    }

    100% {

        opacity: 1;
    }
}

.linha-pendente td {

    background:
        rgba(255, 193, 7, 0.35) !important;

    color: white;
}

.linha-atrasada td {

    background:
        rgba(220, 53, 69, 0.40) !important;

    color: white;

    animation:
        piscarLinha 1s infinite;
}

.linha-pendente,
.linha-pendente td {

    background: #c79b12 !important;

    color: white !important;
}

.linha-atrasada,
.linha-atrasada td {

    background: #c62828 !important;

    color: white !important;

    animation:
        piscarLinha 1s infinite;
}

.linha-pendente td,
.linha-atrasada td {

    color: #ffffff !important;

    font-weight: 700;

    text-shadow:
        0 0 4px rgba(0,0,0,0.45);

    letter-spacing: 0.3px;
}

.col-notificada {

    width: 140px;

    min-width: 140px;

    text-align: center;
}

/* ===================================== */
/* STATUS GRID */
/* ===================================== */

.status-tag {

    display: inline-block;

    padding: 6px 12px;

    border-radius: 10px;

    font-weight: bold;

    color: white;

    font-size: 13px;

    text-align: center;

    min-width: 170px;
}



/* LICITAÇÕES */

.status-azul {

    background: #1e88e5;
}

.status-contabil {

    background: #1565c0;
}

.status-amarelo {

    background: #fbc02d;

    color: #000;
}

.status-laranja {

    background: #fb8c00;
}

.status-roxo {

    background: #8e24aa;
}

.status-publicacao {

    background: #00acc1;
}

.status-verde {

    background: #43a047;
}

.status-vermelho {

    background: #e53935;
}

.status-cinza {

    background: #757575;
}

/* ===================================== */
/* BARRA TRANSIÇÃO */
/* ===================================== */

.barra-transicao {

    position: absolute;

    top: 0;
    left: 0;

    width: 6px;
    height: 100%;

    background: rgba(255,255,255,0.08);

    overflow: hidden;

    border-radius: 0 6px 6px 0;

    z-index: 2;
}

.progresso-transicao {

    width: 0%;

    height: 100%;

    background: linear-gradient(
        to right,
        #00e5ff,
        #0066ff
    );

    animation: progressoTela 15s linear infinite;
}



/* ANIMAÇÃO */

@keyframes progressoTela {

    from {

        width: 0%;
    }

    to {

        width: 100%;
    }
}

/* ===================================== */
/* BARRA TRANSIÇÃO */
/* ===================================== */

.barra-transicao {

    position: absolute;

    top: 12px;

    left: 0;

    width: 100%;

    height: 6px;
}


/* ANIMAÇÃO */

@keyframes progressoTela {

    from {

        width: 0%;
    }

    to {

        width: 100%;
    }
}

/* ===================================== */
/* STATUS GRID */
/* ===================================== */

.status-grid {

    white-space: nowrap;

    color: white;

    font-weight: bold;

    text-align: center;

    border-radius: 6px;

    padding: 6px;
    
    
}

.status-azul {

    background: #3498db;
}

.status-contabil {

    background: #16a085;
}

.status-amarelo {

    background: #f1c40f;

    color: #000;
}

.status-laranja {

    background: #e67e22;
}

.status-roxo {

    background: #9b59b6;
}

.status-publicacao {

    background: #2980b9;
}

.status-verde {

    background: #27ae60;
}

.status-vermelho {

    background: #c0392b;
}

.status-cinza {

    background: #7f8c8d;
}

.status-grid {

    white-space: nowrap;


    color: white;

    font-weight: bold;

    text-align: center;

    border-radius: 6px;

    padding: 6px;
}

/* ===================================== */
        filter: drop-shadow(0 0 20px rgba(255,255,255,0.5));
    }

    100% {
        filter: drop-shadow(0 0 5px rgba(255,255,255,0.2));
    }
}

.balao-mascote {

    position: absolute;

    top: -10px;

    right: -20px;

    background: rgba(255,255,255,0.12);

    backdrop-filter: blur(10px);

    border: 1px solid rgba(255,255,255,0.2);

    color: white;

    padding: 12px 16px;

    border-radius: 18px;

    font-size: 14px;

    font-weight: 600;

    width: 220px;

    text-align: center;

    animation: falaPulse 4s ease infinite;
}

@keyframes falaPulse {

    0% {
        transform: scale(1);
        opacity: 0.9;
    }

    50% {
        transform: scale(1.03);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0.9;
    }
}

.mascote-alerta {

    filter:
        drop-shadow(0 0 20px #ff4444)
        brightness(1.1);
}

.mascote-feliz {

    filter:
        drop-shadow(0 0 20px #00ff88)
        brightness(1.1);
}


/* ===================================== */
/* MASCOTE ANIMADO */
/* ===================================== */

.mascote-premium {

    width: 220px;

    animation:
        flutuarMascote 4s ease-in-out infinite,
        brilhoMascote 3s ease-in-out infinite;

    transition: all 0.5s ease;
}

@keyframes flutuarMascote {

    0% {

        transform:
            translateY(0px);
    }

    50% {

        transform:
            translateY(-10px);
    }

    100% {

        transform:
            translateY(0px);
    }
}

@keyframes brilhoMascote {

    0% {

        filter:
            drop-shadow(0 0 5px rgba(255,255,255,0.2));
    }

    50% {

        filter:
            drop-shadow(0 0 18px rgba(255,255,255,0.6));
    }

    100% {

        filter:
            drop-shadow(0 0 5px rgba(255,255,255,0.2));
    }
}

.balao-mascote {

    margin-top: 15px;

    background: rgba(255,255,255,0.12);

    border: 1px solid rgba(255,255,255,0.2);

    border-radius: 18px;

    padding: 12px;

    color: white;

    font-size: 15px;

    min-height: 50px;

    animation:
        pulsarBalao 2s infinite;
}

@keyframes pulsarBalao {

    0% {

        transform: scale(1);
    }

    50% {

        transform: scale(1.03);
    }

    100% {

        transform: scale(1);
    }
}

/* ===================================== */

.radio-info {

    display: flex;

    flex-direction: column;

    gap: 4px;

    margin-bottom: 10px;
}

.radio-titulo {

    font-size: 13px;

    opacity: 0.7;
}

#radioNomeAtual {

    font-size: 15px;

    font-weight: bold;
}

.radio-controles {

    display: flex;

    align-items: center;

    gap: 10px;
}

.radio-controles button {

    background: #2563eb;

    border: none;

    color: white;

    border-radius: 10px;

    padding: 8px 12px;

    cursor: pointer;

    font-size: 16px;
}

.radio-controles button:hover {

    transform: scale(1.05);
}

#volumeRadio {

    flex: 1;
}

#radioAudio {

    display: none;
}

.linha-hoje {

    background: rgba(52,152,219,0.25);
}

.linha-pendente {

    background: rgba(241,196,15,0.20);
}

.linha-atrasada {

    background: rgba(231,76,60,0.25);
}

.piscar {

    animation: piscarLinha 1s infinite;
}

@keyframes piscarLinha {

    0% {

        opacity: 1;
    }

    50% {

        opacity: 0.35;
    }

    100% {

        opacity: 1;
    }
}

/* ===================================== */
/* CABEÇALHO DAS TABELAS */
/* ===================================== */

thead th {

    padding: 14px 10px;

    font-size: 14px;

    font-weight: 700;

    text-transform: uppercase;

    background: #1e293b;

    color: #ffffff;

    position: sticky;

    top: 0;

    z-index: 2;
}

/* ===================================== */
/* LINHAS DAS TABELAS */
/* ===================================== */

tbody td {

    padding: 12px 10px;

    font-size: 14px;

    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ===================================== */
/* ÁREA PRINCIPAL */
/* ===================================== */

main {

    height: calc(100vh - 90px);

    overflow: hidden;
}



.clima-detalhes {

    margin-top: 14px;

    display: flex;

    flex-direction: column;

    gap: 6px;

    font-size: 0.95rem;

    font-weight: 600;

    line-height: 1.2;
}

.clima-detalhes span {

    background: rgba(255,255,255,0.08);

    padding: 6px 10px;

    border-radius: 10px;

    backdrop-filter: blur(4px);
}

/* ===================================== */
/* AJUSTE CARD CLIMA */
/* ===================================== */

.clima-card {

    min-height: 340px;
}

.clima-card .conteudo-card {

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

    padding-top: 18px;
}

.clima-card h2 {

    font-size: 1.4rem;

    margin-bottom: 14px;

    line-height: 1;

    position: relative;

    z-index: 5;
}

.clima-detalhes {

    margin-top: 14px;

    display: flex;

    flex-direction: column;

    gap: 6px;

    font-size: 0.95rem;

    font-weight: 600;

    line-height: 1.2;
}

.clima-detalhes span {

    background: rgba(255,255,255,0.08);

    padding: 6px 10px;

    border-radius: 10px;

    backdrop-filter: blur(4px);
}

.radio-player {

    display: none !important;
}

.radio-player,
#nomeRadio,
button[onclick="proximaRadio()"] {

    display: none !important;
}

/* ===================================== */
/* STATUS GRID - LICITAÇÕES */
/* ===================================== */

.status-grid {

    font-weight: 700 !important;

    text-align: center !important;

    border-radius: 8px !important;

    padding: 6px 10px !important;

    color: #ffffff !important;
}



/* ELABORAÇÃO */

.status-grid.azul {

    background:
        linear-gradient(135deg,
        #2563eb,
        #1d4ed8) !important;
}



/* ANÁLISE CONTÁBIL */

.status-grid.kpi-contabil {

    background:
        linear-gradient(135deg,
        #06b6d4,
        #0891b2) !important;
}



/* ORÇAMENTO */

.status-grid.amarelo {

    background:
        linear-gradient(135deg,
        #eab308,
        #ca8a04) !important;

    color: #111827 !important;
}



/* ATUALIZAÇÃO DOCUMENTOS */

.status-grid.laranja {

    background:
        linear-gradient(135deg,
        #f97316,
        #ea580c) !important;
}



/* ANÁLISE JURÍDICA */

.status-grid.roxo {

    background:
        linear-gradient(135deg,
        #9333ea,
        #7e22ce) !important;
}



/* LICITAÇÃO / PUBLICAÇÃO */

.status-grid.kpi-publicacao {

    background:
        linear-gradient(135deg,
        #0ea5e9,
        #0284c7) !important;
}



/* HOMOLOGADA / RENOVADA */

.status-grid.verde {

    background:
        linear-gradient(135deg,
        #22c55e,
        #16a34a) !important;
}



/* FRACASSADA / RECUSADA */

.status-grid.vermelho {

    background:
        linear-gradient(135deg,
        #ef4444,
        #dc2626) !important;
}



/* DESERTO */

.status-grid.cinza {

    background:
        linear-gradient(135deg,
        #6b7280,
        #4b5563) !important;
}

/* ===================================== */
/* GRID ENTREGAS */
/* ===================================== */

.linha-atrasada {

    background:
        rgba(239,68,68,0.18) !important;

    border-left:
        5px solid #ef4444 !important;
}

.linha-hoje {

    background:
        rgba(234,179,8,0.18) !important;

    border-left:
        5px solid #eab308 !important;
}

.linha-pendente {

    background:
        rgba(34,197,94,0.12) !important;

    border-left:
        5px solid #22c55e !important;
}



/* ===================================== */
/* PISCAR ATRASADAS */
/* ===================================== */

.piscar {

    animation:
        piscarLinha 1s infinite;
}

@keyframes piscarLinha {

    0% {

        background:
            rgba(239,68,68,0.18);
    }

    50% {

        background:
            rgba(239,68,68,0.45);
    }

    100% {

        background:
            rgba(239,68,68,0.18);
    }
}



/* ===================================== */
/* SELO NOTIFICADA */
/* ===================================== */

.selo-notificada {

    background:
        linear-gradient(
            135deg,
            #ef4444,
            #dc2626
        );

    color: white;

    padding: 4px 10px;

    border-radius: 999px;

    font-size: 11px;

    font-weight: 700;
}



/* ===================================== */
/* KPIs ENTREGAS */
/* ===================================== */

.kpi-entregas-hoje {

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #1d4ed8
        ) !important;
}

.kpi-entregas-pendentes {

    background:
        linear-gradient(
            135deg,
            #22c55e,
            #16a34a
        ) !important;
}

.kpi-entregas-atrasadas {

    background:
        linear-gradient(
            135deg,
            #ef4444,
            #dc2626
        ) !important;
}

.kpi-entregas-notificadas {

    background:
        linear-gradient(
            135deg,
            #f97316,
            #ea580c
        ) !important;
}

/* ===================================== */
/* PRIORIDADE VISUAL ENTREGAS */
/* ===================================== */

.linha-atrasada td {

    color: #ffffff !important;

    font-weight: 700 !important;
}

.linha-hoje td {

    color: #fef08a !important;

    font-weight: 700 !important;
}

.linha-pendente td {

    color: #dcfce7 !important;
}

/* ===================================== */
/* PISCAR ENTREGAS ATRASADAS */
/* ===================================== */

@keyframes piscarAtrasado {

    0% {

        opacity: 1;
    }

    50% {

        opacity: 0.45;
    }

    100% {

        opacity: 1;
    }
}

.linha-atrasada {

    background: rgba(255, 0, 0, 0.75) !important;

    color: #fff !important;

    font-weight: 700;

    animation:
        piscarAtrasado 1s infinite;
}



/* ===================================== */
/* LINHA HOJE */
/* ===================================== */

.linha-hoje {

    background: rgba(255, 193, 7, 0.80) !important;

    color: #fff !important;

    font-weight: 700;
}



/* ===================================== */
/* LINHA PENDENTE */
/* ===================================== */

.linha-pendente {

    background: rgba(40, 167, 69, 0.70) !important;

    color: #fff !important;
}



/* ===================================== */
/* STATUS GRID */
/* ===================================== */

.status-grid.vermelho {

    background: #ff3131 !important;

    color: white !important;

    font-weight: 800;
}

.status-grid.amarelo {

    background: #f4c20d !important;

    color: #000 !important;

    font-weight: 800;
}

.status-grid.verde {

    background: #22c55e !important;

    color: white !important;

    font-weight: 800;
}

/* ===================================== */
/* LINHAS ENTREGAS */
/* ===================================== */

.linha-atrasada {

    background: rgba(255, 49, 49, 0.78) !important;

    color: #ffffff !important;

    animation:
        piscarAtrasado 1s infinite;
}

.linha-hoje {

    background: rgba(255, 193, 7, 0.78) !important;

    color: #ffffff !important;
}

.linha-pendente {

    background: rgba(255, 140, 0, 0.72) !important;

    color: #ffffff !important;
}



/* ===================================== */
/* FORÇA A MESMA COR EM TODAS COLUNAS */
/* ===================================== */

.linha-atrasada td {

    background: transparent !important;

    color: #ffffff !important;
}

.linha-hoje td {

    background: transparent !important;

    color: #ffffff !important;
}

.linha-pendente td {

    background: transparent !important;

    color: #ffffff !important;
}



/* ===================================== */
/* PADRONIZA STATUS COM A LINHA */
/* ===================================== */

.linha-atrasada .status-grid,
.linha-hoje .status-grid,
.linha-pendente .status-grid {

    background: transparent !important;

    color: inherit !important;

    font-weight: 800;

    border: none !important;

    box-shadow: none !important;
}



/* ===================================== */
/* LINHAS COMPLETAS */
/* ===================================== */

.linha-atrasada {

    background: rgba(255, 49, 49, 0.82) !important;

    color: #ffffff !important;

    animation:
        piscarAtrasado 1s infinite;
}

.linha-hoje {

    background: rgba(255, 193, 7, 0.82) !important;

    color: #ffffff !important;
}

.linha-pendente {

    background: rgba(255, 140, 0, 0.78) !important;

    color: #ffffff !important;
}



/* ===================================== */
/* TODAS COLUNAS HERDAM A MESMA COR */
/* ===================================== */

.linha-atrasada td,
.linha-hoje td,
.linha-pendente td {

    background: transparent !important;

    color: inherit !important;

    border-bottom:
        1px solid rgba(255,255,255,0.08);
}



/* ===================================== */
/* PISCAR ATRASADAS */
/* ===================================== */

@keyframes piscarAtrasado {

    0% {

        opacity: 1;
    }

    50% {

        opacity: 0.45;
    }

    100% {

        opacity: 1;
    }
}

/* ===================================== */
/* SELO NOTIFICADA */
/* ===================================== */

.selo-notificada {

    display: inline-block;

    padding: 6px 14px;

    border-radius: 20px;

    background: #22c55e !important;

    color: #ffffff !important;

    font-size: 12px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    box-shadow:
        0 0 12px rgba(34, 197, 94, 0.35);
}

/* ===================================== */
/* STATUS INTEGRADO À LINHA */
/* ===================================== */

#tabelaEntregas .status-grid {

    background: transparent !important;

    border: none !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    color: inherit !important;

    font-weight: 800;

    padding: 0 !important;
}



/* ===================================== */
/* REMOVE DIFERENÇA VISUAL */
/* ===================================== */

#tabelaEntregas td {

    background: transparent !important;
}

/* ===================================== */
/* LINHA COMPLETA ATÉ STATUS */
/* ===================================== */

#tabelaEntregas tr td {

    border-bottom:
        1px solid rgba(255,255,255,0.10) !important;
}



/* ===================================== */
/* STATUS HERDA A MESMA LINHA */
/* ===================================== */

#tabelaEntregas .status-grid {

    border-bottom:
        1px solid rgba(255,255,255,0.10) !important;

    background: transparent !important;

    border-radius: 0 !important;

    box-shadow: none !important;

    color: inherit !important;
}

/* ===================================== */
/* GRID PROFISSIONAL */
/* ===================================== */

.admin-table {

    width: 100%;

    border-collapse: collapse;

    table-layout: auto;
}



/* ===================================== */
/* COLUNAS */
/* ===================================== */

.admin-table th,
.admin-table td {

    padding: 10px 12px;

    vertical-align: middle;

    overflow: hidden;
}



/* ===================================== */
/* PRODUTOS */
/* ===================================== */

#tabelaEntregas td:nth-child(4),
#tabelaEntregas th:nth-child(4) {

    width: 28%;

    white-space: normal;

    word-break: break-word;

    line-height: 1.4;
}



/* ===================================== */
/* OBSERVAÇÃO */
/* ===================================== */

#tabelaEntregas td:nth-child(5),
#tabelaEntregas th:nth-child(5) {

    width: 22%;

    white-space: normal;

    word-break: break-word;

    line-height: 1.4;
}



/* ===================================== */
/* DEMAIS COLUNAS */
/* ===================================== */

#tabelaEntregas td:not(:nth-child(4)):not(:nth-child(5)) {

    white-space: nowrap;

    text-overflow: ellipsis;
}

/* ===================================== */
/* GRID ENTREGAS */
/* ===================================== */

#entregas .grid-container,
#entregas .painel-grid,
#entregas .grid-entregas {

    height: 58vh !important;

    max-height: 58vh !important;

    overflow-y: auto !important;

    overflow-x: hidden !important;
}



/* ===================================== */
/* TABELA */
/* ===================================== */

#tabelaEntregas {

    width: 100%;

    border-collapse: collapse;
}



/* ===================================== */
/* LINHAS */
/* ===================================== */

#tabelaEntregas tr {

    height: auto !important;
}



/* ===================================== */
/* CÉLULAS */
/* ===================================== */

#tabelaEntregas td {

    padding: 10px 12px;

    vertical-align: top;
}

/* ============================= */
/* MANUTENÇÃO VEICULAR */
/* ============================= */

#manutencao-screen {
    padding: 20px;
}

.screen-header h1 {
    font-size: 32px;
    color: #ffffff;
    margin-bottom: 5px;
}

.subtitle {
    color: #b0bec5;
    font-size: 15px;
}

.maintenance-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.maintenance-table th {
    background: #0d47a1;
    color: white;
    padding: 14px;
    text-align: center;
    font-size: 14px;
}

.maintenance-table td {
    padding: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    text-align: center;
    font-size: 14px;
}

.maintenance-table tr:hover {
    background: rgba(255,255,255,0.04);
}

.alert-panel {
    margin-top: 25px;
    background: rgba(255,255,255,0.04);
    border-radius: 12px;
    padding: 15px;
}

.alert-title {
    
    color: #ff5a5a;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 10px;
    color: #ff5252;
    font-weight: bold;
}

.alert-item {
    padding: 8px;
    margin-bottom: 6px;
    border-left: 4px solid #ff5252;
    background: rgba(255,82,82,0.08);
    border-radius: 6px;
}

/* STATUS */

.status-critico {
    color: #ff5252;
    font-weight: bold;
}

.status-preventiva {
    color: #ffd54f;
    font-weight: bold;
}

.status-ok {
    color: #69f0ae;
    font-weight: bold;
}

/* ===================================================== */
/* AJUSTE KPI - PADRÃO ALMOXARIFADO */
/* ===================================================== */

.kpi-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px !important;

    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
}

.kpi-card {
    background: rgba(255,255,255,0.05);
    border-radius: 14px;
    padding: 18px;

    text-align: center;

    border: 1px solid rgba(255,255,255,0.08);

    backdrop-filter: blur(8px);

    box-shadow:
        0 0 15px rgba(0,0,0,0.35),
        0 0 8px rgba(33,150,243,0.15);

    transition: all 0.3s ease;
}

.kpi-card:hover {
    transform: translateY(-3px);
}

.kpi-card h3 {
    font-size: 14px;
    color: #b0bec5;
    margin-bottom: 10px;
    font-weight: bold;
}

.kpi-card span {
    font-size: 34px;
    font-weight: bold;
    color: #ffffff;
}

/* RESPONSIVO */

@media (max-width: 1200px) {

    .kpi-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }

}

@media (max-width: 768px) {

    .kpi-container {
        grid-template-columns: 1fr !important;
    }

}


/* ===================================================== */
/* ÁREA PRINCIPAL */
/* ===================================================== */

main {

    position: relative;

    width: 100%;

    min-height: calc(100vh - 120px);

    overflow: visible;
}

/* ===================================================== */
/* BARRA DE PROGRESSO */
/* ===================================================== */

.progress-container {

    position: fixed;

    bottom: 0;

    left: 0;

    width: 100%;

    z-index: 9999;
}

/* ===================================================== */
/* ANIMAÇÃO */
/* ===================================================== */

@keyframes fadeScreen {

    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ===================================================== */
/* ADMINISTRATIVO */
/* ===================================================== */

.admin-body {

    background: #081426;

    color: white;

    min-height: 100vh;
}

.admin-container {

    padding: 20px;

    display: flex;
    flex-direction: column;

    gap: 20px;
}

.admin-card {

    background: rgba(255,255,255,0.04);

    border-radius: 16px;

    padding: 20px;

    border: 1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 0 20px rgba(0,0,0,0.35);
}

.admin-card h2 {

    margin-bottom: 20px;

    color: #ffffff;
}

/* ===================================================== */
/* FORMULÁRIO EXECUTIVO */
/* ===================================================== */

.form-grid {

    display: flex;

    flex-direction: column;

    gap: 18px;
}

/* ===================================================== */
/* LINHAS */
/* ===================================================== */

.form-row {

    display: flex;

    gap: 14px;

    align-items: flex-end;

    flex-wrap: wrap;
}

/* ===================================================== */
/* CAMPOS */
/* ===================================================== */

.campo-form {

    display: flex;

    flex-direction: column;

    gap: 6px;
}

.campo-form label {

    font-size: 12px;

    color: #b0bec5;

    font-weight: 600;
}

/* TAMANHOS */

.campo-placa {
    width: 120px;
}

.campo-modelo {
    width: 260px;
}

.campo-manutencao {
    width: 230px;
}

.campo-secretaria {
    width: 330px;
}

.campo-oficina {
    width: 330px;
}

.campo-data {
    width: 220px;
}

/* ===================================================== */
/* INPUTS */
/* ===================================================== */

.form-grid input,
.form-grid select,
.form-grid textarea {

    background: rgba(255,255,255,0.05);

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 10px;

    padding: 10px 12px;

    color: white;

    font-size: 14px;

    box-sizing: border-box;
}

.form-grid input,
.form-grid select {

    height: 42px;
}

/* ===================================================== */
/* OBSERVAÇÃO */
/* ===================================================== */

.form-grid textarea {

    width: 100%;

    min-height: 90px;

    resize: vertical;
}

/* ===================================================== */
/* SCROLL */
/* ===================================================== */

html,
body {

    overflow-y: auto !important;

    overflow-x: hidden;
}

.admin-container {

    overflow-y: auto;

    padding-bottom: 40px;
}

.btn-salvar {

    margin-top: 20px;

    background: #0d47a1;

    color: white;

    border: none;

    padding: 14px 20px;

    border-radius: 10px;

    cursor: pointer;

    font-size: 15px;

    font-weight: bold;

    transition: 0.3s;
}

.btn-salvar:hover {

    background: #1565c0;
}

/* ===================================================== */
/* SELECT - CORREÇÃO VISUAL */
/* ===================================================== */

.form-grid select {

    background: rgba(255,255,255,0.08);

    color: white;

    appearance: none;

    cursor: pointer;
}

/* OPÇÕES DO SELECT */

.form-grid select option {

    background: #10233d;

    color: white;

    padding: 10px;
}

/* ===================================================== */
/* LABELS */
/* ===================================================== */

.campo-form {

    display: flex;

    flex-direction: column;

    gap: 6px;
}

.campo-form label {

    font-size: 11px;

    color: #90a4ae;

    margin-bottom: 4px;

    font-weight: 600;
}

/* ===================================================== */
/* MENU ADMIN */
/* ===================================================== */

.admin-menu {

    display: flex;

    gap: 15px;

    margin-bottom: 20px;
}

.admin-menu button {

    background: #0d47a1;

    color: white;

    border: none;

    padding: 12px 18px;

    border-radius: 10px;

    cursor: pointer;

    font-weight: bold;

    transition: 0.3s;
}

.admin-menu button:hover {

    background: #1565c0;
}

/* ===================================================== */
/* ABAS */
/* ===================================================== */

.aba-admin {

    display: none;
}

.aba-admin.ativa {

    display: block;
}

/* ===================================================== */
/* BOTÕES GRID */
/* ===================================================== */

.btn-editar,
.btn-excluir {

    border: none;

    padding: 8px 10px;

    border-radius: 8px;

    cursor: pointer;

    margin: 2px;

    font-size: 14px;

    transition: 0.3s;
}

.btn-editar {

    background: #1565c0;

    color: white;
}

.btn-excluir {

    background: #c62828;

    color: white;
}

.btn-editar:hover {

    transform: scale(1.05);
}

.btn-excluir:hover {

    transform: scale(1.05);
}

/* ===================================================== */
/* SCROLL VERTICAL */
/* ===================================================== */

html,
body {

    overflow-y: auto;

    overflow-x: hidden;
}

/* SCROLL PREMIUM */

::-webkit-scrollbar {

    width: 10px;
}

::-webkit-scrollbar-track {

    background: #081426;
}

::-webkit-scrollbar-thumb {

    background: #1565c0;

    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {

    background: #1e88e5;
}

/* DATAS */

.campo-form {

    width: 160px;
}

/* ===================================================== */
/* ALTURA ADMIN */
/* ===================================================== */

.admin-container {

    min-height: calc(100vh - 120px);

    overflow-y: auto;

    padding-bottom: 40px;
}

/* ===================================================== */
/* CAMPOS DATA */
/* ===================================================== */

.campo-form {

    display: flex;

    flex-direction: column;

    width: 160px;
}

/* FORÇA NOVA LINHA NAS DATAS */

.campo-form:nth-of-type(1) {

    grid-column: 1;
}

.campo-form:nth-of-type(2) {

    grid-column: 2;
}

/* ===================================================== */
/* GRID LICITAÇÕES COMPACTO */
/* ===================================================== */

.maintenance-table {

    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;
}

/* CABEÇALHO */

.maintenance-table th {

    font-size: 11px;

    padding: 8px 6px;

    white-space: nowrap;
}

/* LINHAS */

.maintenance-table td {

    font-size: 11px;

    padding: 6px 5px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

/* BOTÕES */

.btn-editar,
.btn-excluir {

    padding: 4px 6px;

    font-size: 11px;

    min-width: 28px;
}

/* OBJETO */

.maintenance-table td:nth-child(4) {

    max-width: 180px;
}

/* STATUS */

.maintenance-table td:nth-child(5) {

    font-weight: bold;
}

/* DATAS */

.maintenance-table td:nth-child(6),
.maintenance-table td:nth-child(7),
.maintenance-table td:nth-child(8) {

    max-width: 85px;
}

.maintenance-table td:last-child {

    max-width: none !important;

    width: auto !important;

    white-space: nowrap !important;
}

/* AÇÕES */

.maintenance-table td:last-child {

    width: 70px;
}

/* ===================================================== */
/* AGENDA DINÂMICA EXECUTIVA */
/* ===================================================== */

.agenda-item {

    display: flex;

    align-items: center;

    gap: 12px;

    background: rgba(255,255,255,0.05);

    border-left: 4px solid #1565c0;

    padding: 10px 12px;

    border-radius: 10px;

    margin-bottom: 8px;

    box-shadow:
        0 0 10px rgba(0,0,0,0.2);

    overflow: hidden;
}

/* DATA */

.agenda-data {

    color: #90caf9;

    font-size: 12px;

    font-weight: bold;

    min-width: 85px;
}

/* HORA */

.agenda-hora {

    color: #b0bec5;

    font-size: 12px;

    min-width: 50px;
}

/* TEXTO */

.agenda-texto {

    color: white;

    font-size: 13px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    flex: 1;
}

/* ===================================================== */
/* MODO TV CORPORATIVA PREMIUM */
/* ===================================================== */

/* BODY */



/* ===================================================== */
/* HEADER */
/* ===================================================== */

.topo {

    height: 82px !important;

    padding: 8px 18px !important;
}

.logo {

    height: 52px !important;
}

.topo h1 {

    font-size: 18px !important;
}

.topo p {

    font-size: 16px !important;
}

.titulo-central h2 {

    font-size: 24px !important;
}

.titulo-central span {

    font-size: 12px !important;
}

/* ===================================================== */
/* TELAS */
/* ===================================================== */

.tela {

    padding: 12px !important;
}

/* ===================================================== */
/* KPIs */
/* ===================================================== */

.kpis,
.kpi-container {

    gap: 10px !important;

    margin-top: 10px !important;

    margin-bottom: 10px !important;
}

.kpi-card {

    padding: 8px !important;

    min-height: 70px !important;
}

.kpi-card h3 {

    font-size: 11px !important;

    margin-bottom: 6px !important;
    font-weight: bold;
}

.kpi-card span {

    font-size: 28px !important;
}

/* ===================================================== */
/* TABELAS */
/* ===================================================== */

table th {

    font-size: 10px !important;

    padding: 6px !important;
}

table td {

    font-size: 10px !important;

    padding: 5px !important;
}

/* ===================================================== */
/* GRID MANUTENÇÃO */
/* ===================================================== */

.maintenance-table th,
.maintenance-table td {

    font-size: 10px !important;

    padding: 5px !important;
}

/* ===================================================== */
/* ALERTAS */
/* ===================================================== */

.alert-panel {

    margin-top: 10px !important;

    padding: 10px !important;
}

.alert-item {

    padding: 6px !important;

    font-size: 11px !important;
}

/* ===================================================== */
/* DASHBOARD EXECUTIVO */
/* ===================================================== */

.dashboard-premium {

    gap: 12px !important;

    padding: 10px !important;
}

.card-premium {

    padding: 12px !important;
}

.card-premium h2 {

    font-size: 32px !important;
}

/* ===================================================== */
/* RELÓGIO */
/* ===================================================== */

.relogio-analogico {

    width: 160px !important;
    height: 160px !important;
}

/* ===================================================== */
/* CLIMA */
/* ===================================================== */

.temperatura-premium {

    font-size: 48px !important;
}

/* ===================================================== */
/* AGENDA */
/* ===================================================== */

.agenda-item {

    padding: 8px 10px !important;

    margin-bottom: 6px !important;
}

.agenda-data,
.agenda-hora,
.agenda-texto {

    font-size: 11px !important;
}

/* ===================================================== */
/* MASCOTE */
/* ===================================================== */

.mascote-premium {

    max-height: 180px !important;
}

/* ===================================================== */
/* SCROLLS */
/* ===================================================== */

.table-container {

    max-height: calc(100vh - 270px);

    overflow: hidden;
}

/* ===================================================== */
/* AJUSTE EXECUTIVO PREMIUM */
/* ===================================================== */

/* HEADER */

.topo {

    padding: 8px 20px !important;

    min-height: 85px;
}

.logo {

    height: 58px !important;

    width: auto !important;

    object-fit: contain;
}

/* TÍTULOS */

.topo h1 {

    font-size: 20px !important;
}

.titulo-central h2 {

    font-size: 30px !important;
}

/* TELAS */

.tela {

    padding: 10px 14px !important;
}

/* KPI */

.kpis,
.kpi-container {

    gap: 12px !important;

    margin-top: 12px !important;

    margin-bottom: 12px !important;
}

.kpi-card {

    padding: 10px !important;

    min-height: 85px !important;
}

.kpi-card h3 {

    font-size: 12px !important;
    font-weight: bold;
}

.kpi-card span {

    font-size: 34px !important;
}

/* TABELAS */

table th {

    padding: 7px !important;

    font-size: 11px !important;
}

table td {

    padding: 6px !important;

    font-size: 11px !important;
}

/* DASHBOARD PREMIUM */

.dashboard-premium {

    gap: 14px !important;

    padding: 10px !important;
}

.card-premium {

    padding: 14px !important;
}

/* RELÓGIO */

.relogio-analogico {

    width: 320px !important;
    height: 320px !important;
}

/* CLIMA */

.temperatura-premium {

    font-size: 58px !important;
}

/* MASCOTE */

.mascote-premium {

    max-height: 240px !important;

    object-fit: contain;
}

/* ALERTAS */

.alert-panel {

    margin-top: 12px !important;

    padding: 10px !important;
}

/* AGENDA */

.agenda-item {

    padding: 8px 10px !important;
}

/* REMOVER SOBRAS */

.table-container {

    overflow: hidden;
}

/* ===================================================== */
/* CENTRAL OPERACIONAL ROBUSTA */
/* ===================================================== */

/* HEADER */

.topo {

    min-height: 78px !important;

    padding: 6px 18px !important;
}

.logo {

    height: 60px !important;

    width: auto !important;
}

/* TÍTULOS */

.topo h1 {

    font-size: 22px !important;

    line-height: 1.1;
}

.titulo-central h2 {

    font-size: 28px !important;

    letter-spacing: 1px !important;
}

/* KPI */

.kpis,
.kpi-container {

    gap: 10px !important;

    margin-top: 8px !important;

    margin-bottom: 8px !important;
}

.kpi-card {

    padding: 8px 12px !important;

    min-height: 72px !important;

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.kpi-card h3 {

    font-size: 11px !important;
    font-weight: bold;

    margin-bottom: 4px !important;
}

.kpi-card span {

    font-size: 38px !important;

    line-height: 1;
}

/* GRID */

.tabela-container {

    margin-top: 6px !important;
}

/* TABELAS */

table {

    width: 100%;
}

table th {

    padding: 6px 5px !important;

    font-size: 10px !important;
}

table td {

    padding: 5px 5px !important;

    font-size: 10px !important;

    line-height: 1.1;
}

/* MANUTENÇÃO */

.maintenance-table th,
.maintenance-table td {

    padding: 5px !important;

    font-size: 10px !important;
}

/* ALERTAS */

.alert-panel {

    margin-top: 8px !important;

    padding: 8px !important;
}

.alert-item {

    padding: 5px 8px !important;

    margin-bottom: 5px !important;

    font-size: 11px !important;
}

/* DASHBOARD EXECUTIVO */

.dashboard-premium {

    gap: 10px !important;

    padding: 6px !important;
}

.card-premium {

    padding: 10px !important;
}

/* RELÓGIO */

.relogio-analogico {

        transform: scale(1.65);

}

/* TEMPERATURA */

.temperatura-premium {

    font-size: 56px !important;

    line-height: 1;
}

/* AGENDA */

.agenda-item {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 8px 12px;
}

.agenda-texto {

    flex: 1;

    white-space: normal;

    word-break: break-word;
}

/* MASCOTE */

.mascote-premium {

    max-height: 320px !important;

    width: auto !important;

    object-fit: contain;

    transition: all 0.4s ease;
}

/* REMOVER SOBRAS */


.tela {

    padding-bottom: 4px !important;
}

/* ===================================================== */
/* GRID OPERACIONAL ROBUSTO */
/* ===================================================== */

table {

    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;
}

/* ===================================================== */
/* CABEÇALHO */
/* ===================================================== */

table thead th {

    background:
        rgba(255,255,255,0.10);

    color: #ffffff;

    font-size: 12px !important;

    font-weight: 800;

    text-transform: uppercase;

    padding: 8px 6px !important;

    letter-spacing: 0.5px;

    border-bottom:
        1px solid rgba(255,255,255,0.10);

    white-space: nowrap;
}

/* ===================================================== */
/* LINHAS */
/* ===================================================== */

table tbody td {

    font-size: 12px !important;

    font-weight: 500;

    padding: 7px 6px !important;

    line-height: 1.2;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    border-bottom:
        1px solid rgba(255,255,255,0.05);
}

/* ===================================================== */
/* HOVER */
/* ===================================================== */

table tbody tr:hover {

    background:
        rgba(255,255,255,0.06);

    transition: 0.2s;
}

/* ===================================================== */
/* CONTAINER */
/* ===================================================== */

.table-container {

    margin-top: 6px !important;

    border-radius: 14px;

    max-height: none !important;

    overflow: visible !important;
}

/* ===================================================== */
/* MANUTENÇÃO */
/* ===================================================== */

.maintenance-table td,
.maintenance-table th {

    font-size: 12px !important;

    padding: 7px 6px !important;
}

/* ===================================================== */
/* AÇÕES */
/* ===================================================== */

table td:last-child {

    width: 90px;

    text-align: center;
}

/* ===================================================== */
/* BOTÕES */
/* ===================================================== */

.btn-editar,
.btn-excluir {

    padding: 5px 8px !important;

    font-size: 11px !important;

    min-width: 30px;

    border-radius: 7px;
}

/* ===================================================== */
/* STATUS */
/* ===================================================== */

.status-ok {

    color: #66bb6a;

    font-weight: bold;
}

.status-critico {

    color: #ef5350;

    font-weight: bold;
}

.status-preventiva {

    color: #ffca28;

    font-weight: bold;
}

/* ===================================================== */
/* ALERTAS */
/* ===================================================== */

.alert-item {

    padding: 5px 8px !important;

    font-size: 11px !important;

    margin-bottom: 5px;
}

/* ===================================================== */
/* GRID OPERACIONAL VISIBILIDADE PREMIUM */
/* ===================================================== */

/* TABELAS */

table {

    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;
}

/* ===================================================== */
/* CABEÇALHO */
/* ===================================================== */

table thead th {

    background:
        rgba(255,255,255,0.10);

    color: #ffffff;

    font-size: 14px !important;

    font-weight: 800;

    text-transform: uppercase;

    padding: 8px 6px !important;

    border-bottom:
        1px solid rgba(255,255,255,0.10);

    white-space: nowrap;
}

/* ===================================================== */
/* LINHAS */
/* ===================================================== */

table tbody td {

    font-size: 14px !important;

    font-weight: 500;

    padding: 8px 6px !important;

    line-height: 1.2;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    border-bottom:
        1px solid rgba(255,255,255,0.05);
}

/* ===================================================== */
/* GRID MANUTENÇÃO */
/* ===================================================== */

.maintenance-table td {

    vertical-align: middle;
}

.maintenance-table td:last-child {

    white-space: nowrap;
}


.maintenance-table th {

    font-size: 21px !important;

    padding: 10px 8px !important;
}

.maintenance-table td {

    font-size: 20px !important;

    font-weight: 600;

    vertical-align: middle;
}

/* ===================================================== */
/* AÇÕES */
/* ===================================================== */

table td:last-child {

    text-align: left;
}

/* ===================================================== */
/* BOTÕES */
/* ===================================================== */

.btn-editar,
.btn-excluir {

    padding: 6px 9px !important;

    font-size: 12px !important;

    min-width: 34px;

    border-radius: 7px;
}

/* ===================================================== */
/* KPI MAIS FORTES */
/* ===================================================== */

.kpi-card {

    min-height: 76px !important;

    padding: 8px 12px !important;
}

.kpi-card h3 {

    font-size: 12px !important;
    font-weight: bold;

    margin-bottom: 4px !important;
}

.kpi-card span {

    font-size: 42px !important;

    line-height: 1;
}

/* ===================================================== */
/* ALERTAS */
/* ===================================================== */

.alert-item {

    font-size: 22px !important;

    padding: 7px 10px !important;
}

/* ===================================================== */
/* AGENDA */
/* ===================================================== */

.agenda-data,
.agenda-hora,
.agenda-texto {

    font-size: 30px !important;
}

/* ===================================================== */
/* HEADER MAIS EFICIENTE */
/* ===================================================== */

.topo {

    min-height: 76px !important;

    padding: 6px 18px !important;
}

/* ===================================================== */
/* REMOVER SOBRAS */
/* ===================================================== */


.tela {

    padding-top: 8px !important;

    padding-bottom: 4px !important;
}

/* ===================================================== */
/* QUEBRA INTELIGENTE DE TEXTO NOS GRIDS */
/* ===================================================== */

table tbody td {

    white-space: normal !important;

    word-break: break-word;

    overflow-wrap: break-word;

    vertical-align: middle;
}

/* COLUNAS GRANDES */

table tbody td:nth-child(3),
table tbody td:nth-child(4) {

    line-height: 1.2;

    padding-top: 10px !important;

    padding-bottom: 10px !important;
}

/* ===================================================== */
/* STATUS HOMOLOGADA */
/* ===================================================== */

table tbody td {

    white-space: normal !important;
}

/* COLUNA STATUS */

table tbody td:nth-child(5) {

    white-space: nowrap !important;
}

/* ===================================================== */
/* COLUNA STATUS */
/* ===================================================== */

table th:nth-child(5),
table td:nth-child(5) {

    width: 120px !important;

    min-width: 120px !important;

    text-align: center;

    font-weight: 600;
}

/* STATUS ESPECÍFICO */

td.status-contabil {

    white-space: normal !important;

    line-height: 1.1;
}

/* ===================================================== */
/* STATUS ANALISE CONTÁBIL */
/* ===================================================== */

/* STATUS */

table td:nth-child(5) {

    width: 130px !important;

    min-width: 130px !important;

    white-space: nowrap !important;

    overflow: visible !important;

    text-overflow: unset !important;
}

/* SOMENTE ANALISE CONTÁBIL */

table td:nth-child(5):has(br) {

    white-space: normal !important;
}

/* ===================================================== */
/* STATUS LICITAÇÃO */
/* ===================================================== */

.status-badge {

    min-width: 120px !important;

    width: auto !important;

    white-space: normal !important;

    line-height: 1.1;

    text-align: center;

    padding: 8px 10px !important;

    display: inline-block;
}

/* ===================================================== */
/* BADGES STATUS */
/* ===================================================== */

.status-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 150px !important;

    padding: 8px 12px !important;

    border-radius: 10px;

    font-size: 12px !important;

    font-weight: 700;

    white-space: nowrap !important;
}

/* COLUNA STATUS */

table th:nth-child(5),
table td:nth-child(5) {

    width: 180px !important;

    min-width: 180px !important;

    text-align: center;
}

/* ===================================================== */
/* COLUNAS VIGÊNCIA */
/* ===================================================== */

table th:nth-child(9),
table td:nth-child(9),

table th:nth-child(10),
table td:nth-child(10) {

    min-width: 140px !important;

    width: 140px !important;

    text-align: center;

    white-space: nowrap !important;
}

/* CABEÇALHO */

table thead th {

    overflow: hidden;

    text-overflow: ellipsis;
}

/* ===================================================== */
/* COLUNA CONCLUSÃO */
/* ===================================================== */

table th:nth-child(8),
table td:nth-child(8) {

    min-width: 130px !important;

    width: 130px !important;

    white-space: nowrap !important;

    text-align: center;
}

/* ===================================================== */
/* BADGES STATUS FLEXÍVEIS */
/* ===================================================== */

.status-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: auto !important;

    min-width: 145px !important;

    max-width: 180px;

    padding: 8px 14px !important;

    border-radius: 10px;

    font-size: 12px !important;

    font-weight: 700;

    line-height: 1.1;

    text-align: center;

    white-space: nowrap !important;
}

/* COLUNA STATUS */

table th:nth-child(4),
table td:nth-child(4),

table th:nth-child(5),
table td:nth-child(5) {

    min-width: 170px !important;

    width: 170px !important;

    text-align: center;
}

/* ===================================================== */
/* COLUNAS DE VIGÊNCIA */
/* ===================================================== */

table th:nth-child(8),
table td:nth-child(8),

table th:nth-child(9),
table td:nth-child(9),

table th:nth-child(10),
table td:nth-child(10) {

    min-width: 150px !important;

    width: 150px !important;

    white-space: nowrap !important;

    text-align: center;
}

/* ===================================================== */
/* PRIMEIRAS COLUNAS GRID LICITAÇÃO */
/* ===================================================== */

table th:nth-child(1),
table td:nth-child(1) {

    min-width: 110px !important;

    width: 110px !important;

    white-space: nowrap !important;
}

table th:nth-child(2),
table td:nth-child(2) {

    min-width: 120px !important;

    width: 120px !important;

    white-space: nowrap !important;
}

table th:nth-child(3),
table td:nth-child(3) {

    min-width: 90px !important;

    width: 90px !important;

    white-space: nowrap !important;
}

/* ===================================================== */
/* GRID EXECUTIVO DEFINITIVO */
/* ===================================================== */

table {

    width: 100% !important;

    border-collapse: collapse !important;

    table-layout: auto !important;
}

/* ===================================================== */
/* CABEÇALHO */
/* ===================================================== */

table thead th {

    font-size: 21px !important;

    font-weight: 700 !important;

    padding: 10px 8px !important;

    text-align: center !important;

    white-space: nowrap !important;

    overflow: visible !important;

    text-overflow: unset !important;
}

/* ===================================================== */
/* LINHAS */
/* ===================================================== */

table tbody td {

    font-size: 20px !important;

    font-weight: 500 !important;

    padding: 12px 10px !important;

    text-align: center !important;

    vertical-align: middle !important;

    overflow: visible !important;

    text-overflow: unset !important;
}

/* ===================================================== */
/* OBJETO */
/* ===================================================== */

table th:nth-child(4),
table td:nth-child(4) {

    width: 22% !important;

    text-align: left !important;
}

/* ===================================================== */
/* STATUS */
/* ===================================================== */

table th:nth-child(5),
table td:nth-child(5) {

    width: 16% !important;
}

/* ===================================================== */
/* DATAS */
/* ===================================================== */

table th:nth-child(6),
table td:nth-child(6),

table th:nth-child(7),
table td:nth-child(7),

table th:nth-child(8),
table td:nth-child(8),

table th:nth-child(9),
table td:nth-child(9),

table th:nth-child(10),
table td:nth-child(10) {

    width: 10% !important;

    white-space: nowrap !important;
}

/* ===================================================== */
/* ALERTA */
/* ===================================================== */

table th:nth-child(11),
table td:nth-child(11) {

    width: 4% !important;
}

/* ===================================================== */
/* BADGES STATUS */
/* ===================================================== */

.status-badge {

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    min-width: 150px !important;

    padding: 10px 16px !important;

    border-radius: 12px !important;

    font-size: 13px !important;

    font-weight: 700 !important;

    white-space: nowrap !important;

    line-height: 1 !important;
}

/* ===================================================== */
/* GRID MAIS LIMPO */
/* ===================================================== */

table tbody tr {

    border-bottom:
        1px solid rgba(255,255,255,0.05);
}

/* ===================================================== */
/* HOVER */
/* ===================================================== */

table tbody tr:hover {

    background:
        rgba(255,255,255,0.04);

    transition: 0.2s;
}

/* ===================================================== */
/* CORRELAÇÃO KPI x STATUS */
/* ===================================================== */

/* ELABORAÇÃO */

.kpi-elaboracao,
.status-elaboracao,
.status-badge.elaboracao {

    background:
        linear-gradient(
            135deg,
            #2962ff,
            #3d7eff
        ) !important;
}

/* ANÁLISE CONTÁBIL */

.kpi-contabil,
.status-contabil,
.status-badge.contabil {

    background:
        linear-gradient(
            135deg,
            #00b8d4,
            #26c6da
        ) !important;
}

/* ORÇAMENTO */

.amarelo,
.status-orcamento,
.status-badge.orcamento {

    background:
        linear-gradient(
            135deg,
            #ffb300,
            #ffca28
        ) !important;
}

/* DOCUMENTOS */

.laranja,
.status-documentos,
.status-badge.documentos {

    background:
        linear-gradient(
            135deg,
            #fb8c00,
            #ff9800
        ) !important;
}

/* JURÍDICO */

.roxo,
.status-juridico,
.status-badge.juridico {

    background:
        linear-gradient(
            135deg,
            #7e57c2,
            #9575cd
        ) !important;
}

/* PUBLICAÇÃO */

.kpi-publicacao,
.status-publicacao,
.status-badge.publicacao {

    background:
        linear-gradient(
            135deg,
            #546e7a,
            #78909c
        ) !important;
}

/* HOMOLOGADA */

.verde,
.status-homologada,
.status-badge.homologada {

    background:
        linear-gradient(
            135deg,
            #00c853,
            #2ecc71
        ) !important;
}

/* FRACASSADA */

.vermelho,
.status-fracassada,
.status-badge.fracassada {

    background:
        linear-gradient(
            135deg,
            #d50000,
            #ef5350
        ) !important;
}

/* DESERTO */

.cinza,
.status-deserto,
.status-badge.deserto {

    background:
        linear-gradient(
            135deg,
            #616161,
            #9e9e9e
        ) !important;
}

/* ===================================================== */
/* STATUS COLORIDOS AUTOMÁTICOS */
/* ===================================================== */

/* BADGE BASE */

.status-badge {

    color: white !important;

    font-weight: 700 !important;

    border-radius: 12px;

    padding: 10px 16px !important;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 150px;
}

/* ===================================================== */
/* ELABORAÇÃO */
/* ===================================================== */

.status-badge:has(*),
.status-badge {

}

/* TEXTO ELABORAÇÃO */

.status-badge {

    background:
        linear-gradient(
            135deg,
            #2962ff,
            #3d7eff
        );
}

/* HOMOLOGADA */

.status-badge[data-status="HOMOLOGADA"],
.status-badge.homologada {

    background:
        linear-gradient(
            135deg,
            #00c853,
            #2ecc71
        ) !important;
}

/* ANÁLISE CONTÁBIL */

.status-badge[data-status="ANÁLISE CONTÁBIL"],
.status-badge.contabil {

    background:
        linear-gradient(
            135deg,
            #00b8d4,
            #26c6da
        ) !important;
}

/* ORÇAMENTO */

.status-badge[data-status="ORÇAMENTO"] {

    background:
        linear-gradient(
            135deg,
            #ffb300,
            #ffca28
        ) !important;
}

/* JURÍDICO */

.status-badge[data-status="JURÍDICO"] {

    background:
        linear-gradient(
            135deg,
            #7e57c2,
            #9575cd
        ) !important;
}

/* FRACASSADA */

.status-badge[data-status="FRACASSADA"] {

    background:
        linear-gradient(
            135deg,
            #d50000,
            #ef5350
        ) !important;
}

/* ===================================================== */
/* KPI - TÍTULOS PREMIUM */
/* ===================================================== */

.kpi-card h3 {

    color: rgba(255,255,255,.85) !important;

   font-weight: bold;

    letter-spacing: 0.5px;
}

/* ===================================================== */
/* KPIs ESCUROS */
/* ===================================================== */

.azul h3,
.roxo h3,
.vermelho h3,
.kpi-publicacao h3,
.kpi-elaboracao h3,
.kpi-contabil h3 {

    color: white !important;
}

/* ===================================================== */
/* KPIs CLAROS */
/* ===================================================== */

.amarelo h3,
.laranja h3,
.verde h3,
.cinza h3 {

    color: white !important;
}

/* ===================================================== */
/* ABERTURA PROCESSO */
/* ===================================================== */

.kpi-abertura {

    background:
        linear-gradient(
            135deg,
            #1e88e5,
            #42a5f5
        ) !important;

    color: white !important;
}

.kpi-abertura h3 {

    color: white !important;

    font-weight: 800 !important;
}

/* ===================================================== */
/* LICITAÇÃO - AJUSTES FINAIS KPI */
/* ===================================================== */

/* ELABORAÇÃO */

.kpi-elaboracao,
.kpi-card.azul {

    background:
        linear-gradient(
            135deg,
            #2962ff,
            #3d7eff
        ) !important;
}

.kpi-elaboracao h3,
.kpi-card.azul h3 {

    color: white !important;

    font-weight: bold;
}

/* DESERTO */

.cinza {

    min-width: 130px !important;
}

/* TODOS KPI LICITAÇÃO */

.kpis .kpi-card {

    min-width: 120px;

    flex-shrink: 0;
}

/* ===================================================== */
/* KPI LICITAÇÃO - AJUSTE HORIZONTAL */
/* ===================================================== */

.kpis {

    gap: 8px !important;

    flex-wrap: nowrap !important;

    overflow: hidden !important;
}

/* CARDS */

.kpis .kpi-card {

    min-width: 105px !important;

    padding: 8px 10px !important;
}

/* TÍTULOS */

.kpis .kpi-card h3 {

    color: white !important;

    font-size: 18px !important;
    
    font-weight: bold;
}

/* NÚMEROS */

.kpis .kpi-card span {

    color: white !important;

    font-size: 58px !important;
}

/* DESERTO */

.cinza {

    min-width: 110px !important;
}

/* ===================================================== */
/* SISTEMA ÚNICO DE TELAS */
/* ===================================================== */

.tela {

    display: none;

    width: 100%;

    min-height: 100vh;
}

.tela.ativa {

    display: block;
}

/* ===================================================== */
/* EXECUTIVO - AJUSTE DE ALTURA */
/* ===================================================== */

.dashboard-premium {

    display: grid !important;

    grid-template-columns: repeat(3, 1fr);

    grid-template-rows: repeat(2, 1fr);

    gap: 16px !important;

    padding: 12px !important;

    height: 100% !important;


    overflow: hidden;
}

/* CARDS */

.card-premium {

    min-height: 0 !important;

    max-height: none !important;

    height: 100% !important;

    padding: 18px !important;
}

/* RELÓGIO */

.relogio-card {

    min-height: 240px !important;
}

/* MASCOTE */

.mascote-card {

    min-height: 260px !important;
}

/* MASCOTE MAIOR */

.mascote-premium {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;
}

/* TÍTULOS */

.card-premium h2 {

     position:absolute;

    top:1px;

    left:25px;

    font-size:32px;

    font-weight:700;
}

/* TEXTOS */

.card-premium p {

    font-size: 32px !important;
    
        font-weight: 700;

}

.agenda-item {

    font-size: 28px !important;
    
        font-weight: 700;

}

.cotacao-item {

    font-size: 50px !important;
    
        font-weight: 700;

}

/* TEMPERATURA */

.temperatura-premium {

    font-size: 58px !important;
}

/* RELÓGIO DIGITAL */

.hora-digital {

    font-size: 56px !important;
}

/* ===================================================== */
/* MASCOTE CLEAN */
/* ===================================================== */

.mascote-conteudo {

    display: flex;

    align-items: center;

    justify-content: center;

    height: 100%;
}

.mascote-card {

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}

.mascote-card {

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;
}

.mascote-container {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;
}

.mascote-premium {

    width: 95% !important;

    height: 95% !important;

    object-fit: contain;

    display: block;
}

/* ===================================================== */
/* STATUS GRID - CORRELAÇÃO KPI */
/* ===================================================== */

.status-grid {

    white-space: nowrap;


    font-weight: 800 !important;

    text-align: center;

    border-radius: 10px;

    color: white !important;

    padding: 10px !important;
}

/* ELABORAÇÃO */

.status-grid.azul {

    background:
        linear-gradient(
            135deg,
            #2962ff,
            #3d7eff
        ) !important;
}

/* ANÁLISE CONTÁBIL */

.status-grid.kpi-contabil {

    background:
        linear-gradient(
            135deg,
            #00b8d4,
            #26c6da
        ) !important;
}

/* ORÇAMENTO */

.status-grid.amarelo {

    background:
        linear-gradient(
            135deg,
            #ffca28,
            #ffd54f
        ) !important;

    color: #111 !important;
}

/* DOCUMENTOS */

.status-grid.laranja {

    background:
        linear-gradient(
            135deg,
            #fb8c00,
            #ffb74d
        ) !important;

    color: #111 !important;
}

/* JURÍDICO */

.status-grid.laranja {

    background:
        linear-gradient(
            135deg,
            #fb8c00,
            #ff9800
        ) !important;
}

/* PUBLICAÇÃO */

.status-grid.kpi-publicacao {

    background:
        linear-gradient(
            135deg,
            #455a64,
            #607d8b
        ) !important;
}

/* HOMOLOGADA / RENOVADA */

.status-grid.verde {

    background:
        linear-gradient(
            135deg,
            #00c853,
            #2ecc71
        ) !important;

    color: #111 !important;
}

/* FRACASSADA / RECUSADA */

.status-grid.vermelho {

    background:
        linear-gradient(
            135deg,
            #d50000,
            #ef5350
        ) !important;
}

/* DESERTO */

.status-grid.cinza {

    background:
        linear-gradient(
            135deg,
            #757575,
            #9e9e9e
        ) !important;
}

/* ABERTURA PROCESSO */

.status-grid.kpi-abertura {

    background:
        linear-gradient(
            135deg,
            #1e88e5,
            #42a5f5
        ) !important;
}

/* COMPRAS/CONTRATOS */

.status-grid.kpi-compras {

    background:
        linear-gradient(
            135deg,
            #7e57c2,
            #9575cd
        ) !important;
}

/* ===================================================== */
/* AJUSTE CARD CLIMA */
/* ===================================================== */

.clima-card {

    display: flex;

    flex-direction: column;

    justify-content: center;
}

/* TEMPERATURA */

.temperatura-premium {

    font-size: 72px !important;

    line-height: 2 !important;

    margin-bottom: 8px !important;
}

/* DESCRIÇÃO */

#descricaoClima {

    font-size: 16px !important;

    margin-bottom: 10px !important;
}

/* DETALHES */

.clima-detalhes {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;

    margin-top: 10px;

    font-size: 22px !important;
}

/* ITENS */

.clima-detalhes span {

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

/* CABEÇALHO FIXO DOS GRIDS */

.table-container thead th {

    position: sticky;

    top: 0;

    z-index: 10;
}

/* ===================================================== */
/* ALERTAS OPERACIONAIS */
/* ===================================================== */

#maintenanceAlerts {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    align-items: flex-start;

    margin-top: 10px;
}

.alert-item {

    background: rgba(255, 70, 70, 0.12);

    border-left: 4px solid #ff4d4d;

    border-radius: 10px;

    padding: 8px 12px;

    color: #ffffff;

    font-size: 13px;

    white-space: nowrap;

    min-width: 220px;

    box-shadow:
        0 2px 8px rgba(0,0,0,0.25);

    transition: all .3s ease;
}

.alert-item:hover {

    transform: translateY(-2px);
}

/* ===================================================== */
/* AJUSTES TV - DASHBOARD FROTAS */
/* ===================================================== */

/* ========================= */
/* KPI'S LICITAÇÕES */
/* ========================= */

.kpis-container,
.kpi-container,
.kpi-grid {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    justify-content: center;
}

.kpi-card {

    min-width: 110px;

    flex: 1;
}


.kpi-ativas {

    background: #2196F3;

    color: white;

}

.kpi-utilizacao {

    background: #4CAF50;

    color: white;

}

.kpi-agendadas {

    border-left: 6px solid #ff9800;

}

/* ========================= */
/* TABELAS OPERACIONAIS */
/* ========================= */

#telaLicitacoes table,
#telaRenovacoes table {

    font-size: 12px;
}

#telaLicitacoes th,
#telaLicitacoes td,
#telaRenovacoes th,
#telaRenovacoes td {

    padding: 6px 4px;
}


/* ========================= */
/* FIM VIGÊNCIA LICITAÇÕES */
/* ========================= */

#telaLicitacoes td:last-child {

    white-space: nowrap;

    min-width: 90px;
}


/* ========================= */
/* ALERTA RENOVAÇÕES */
/* ========================= */

#telaRenovacoes td:last-child {

    white-space: nowrap;

    min-width: 100px;
}


/* ========================= */
/* MANUTENÇÃO */
/* ========================= */

.maintenance-table {

    width: 100%;

    table-layout: auto;
}

.maintenance-table td {

    vertical-align: middle;
}

.maintenance-table td:last-child {

    white-space: nowrap;
}


/* ========================= */
/* ALERTAS OPERACIONAIS */
/* ========================= */

#maintenanceAlerts {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    justify-content: center;

    align-items: flex-start;

    margin-top: 12px;
}

.alert-item {

    min-width: 320px;

    padding: 14px 18px;

    border-radius: 12px;

    background: rgba(255, 60, 60, 0.15);

    border-left: 5px solid #ff4d4d;

    font-size: 16px;

    font-weight: 600;

    color: #ffffff;

    box-shadow:
        0 0 12px rgba(255, 0, 0, 0.15);

    white-space: nowrap;

    transition: all .3s ease;
}

.alert-item:hover {

    transform: translateY(-2px);
}

/* ===================================================== */
/* AJUSTE TV HDMI */
/* ===================================================== */

body {

    zoom: 0.95;
}

.paginacao-info {

    text-align: right;

    margin-top: 10px;

    padding-right: 10px;

    font-size: 14px;

    font-weight: bold;

    opacity: 0.8;

}

.alert-item {

    padding: 12px;

    margin-bottom: 8px;

    border-radius: 8px;

    font-weight: 600;

    background:
        rgba(255,255,255,0.05);
}

.alert-danger {

    border-left:
        5px solid #ff4444;
}

.alert-warning {

    border-left:
        5px solid #ffcc00;
}

.alert-info {

    border-left:
        5px solid #00cfff;
}

.alert-active {

    border-left:
        5px solid #00ff66;
}

.kpi-info h3 {

    font-size: 34px !important;

    font-weight: 700;

    line-height: 1;

    margin-bottom: 6px;
}

.kpi-info p {

    font-size: 15px !important;

    font-weight: 600;

    margin: 0;
}

.kpi-container {

    gap: 12px !important;
}

.kpi-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    min-height: 110px;

    padding: 10px;

}

.kpi-info {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}

/* ===================================================== */
/* OVERRIDE KPI FINALIZADAS HOJE */
/* ===================================================== */

#telaUtilizacaoFinalizada .kpi-container{

    display:flex !important;

    gap:16px !important;

    flex-wrap:nowrap !important;

    margin-bottom:20px !important;

}

#telaUtilizacaoFinalizada .kpi-card{

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;

    align-items:center !important;

    text-align:center !important;

    min-height:95px !important;

}

#telaUtilizacaoFinalizada .kpi-icon{

    font-size:16px !important;

    margin-right:4px !important;

}

#telaUtilizacaoFinalizada .kpi-info p{

    font-size:18px !important;

    font-weight:700 !important;

    margin-bottom:6px !important;

    text-transform:uppercase;

}

#telaUtilizacaoFinalizada .kpi-info h3{

    font-size:58px !important;

    font-weight:700 !important;

    line-height:1 !important;

    margin:0 !important;

}

#telaUtilizacaoFinalizada .kpi-info p{

    margin-top:6px !important;

    margin-bottom:0 !important;

    line-height:1.2 !important;

    font-size:18px !important;

    font-weight:600 !important;

    position:static !important;

    transform:none !important;

    top:auto !important;

    bottom:auto !important;

    left:auto !important;

    right:auto !important;

}

#periodoKmHistorico{

    display:block;

    margin-top:4px;

    font-size:16px;

    color:#dcfce7;

    font-weight:bold;

}

.kpi-agendadas {

    background: #f5a623 !important;

    border: 2px solid #ffb300;

    box-shadow:
        0 0 18px rgba(255,179,0,.45);

}

.kpi-agendadas p,
.kpi-agendadas h3 {

    color: white !important;

    font-weight: 700;

}

#tabelaUtilizacao td {

    font-size: 20px !important;

    padding-top: 10px;

    padding-bottom: 10px;

}

#tabelaUtilizacao th {

    font-size: 15px !important;

}

#tabelaFinalizadas td {

    padding: 8px;

    border-bottom: 1px solid rgba(255,255,255,.08);

    vertical-align: middle;

}

}

#tabelaFinalizadas th {

    background: #0d5bd1;

    color: #ffffff;

    font-weight: 700;

    text-transform: uppercase;

    padding: 8px;

    border: none;

}

#kpiKmHistorico {

    color: #00e676;

}

#kpiKmHoje {

        font-size: 42px !important;

    color: #4fc3f7;

}

#kpiAgendadas {

    color: #ffb74d;

}

/* FORÇAR KPIs UTILIZAÇÃO EM UMA ÚNICA LINHA */

.kpi-container {

    display: flex !important;

    flex-wrap: nowrap !important;

    justify-content: space-between !important;

    align-items: stretch !important;

    gap: 12px !important;

}

.kpi-container .kpi-card {

    flex: 1 !important;

    min-width: 0 !important;

}

/* ===========================
   MODO TV
=========================== */

@media screen and (max-width: 1366px) {

    .card-premium {

        transform: scale(0.90);

        transform-origin: center;

    }

}

/* KPI EM UTILIZAÇÃO */

.kpi-em-uso {

    background: #2ecc71 !important;

    color: #ffffff !important;

}

.kpi-em-uso p,
.kpi-em-uso h3 {

    color: #ffffff !important;

}

body.pausado .progresso-transicao {

    animation-play-state: paused !important;

}

#tabelaUtilizacao {

    table-layout: auto !important;
}

th:nth-child(4),
td:nth-child(4){
    width:70px;
    text-align:center;
}

/* ===================================== */
/* AJUSTES EXECUTIVOS DOS GRIDS SALA A    */
/* ===================================== */

/* ANO MAIS ESTREITO */
#tabelaUtilizacao th:nth-child(4),
#tabelaUtilizacao td:nth-child(4),

#tabelaFinalizadasHoje th:nth-child(4),
#tabelaFinalizadasHoje td:nth-child(4) {

    width: 60px;
    min-width: 60px;
    max-width: 60px;

    text-align: center;

}

/* NOME MAIS LARGO - CONTROLE DE UTILIZAÇÕES */

#tabelaUtilizacao th:nth-child(6),
#tabelaUtilizacao td:nth-child(6) {

    width: 180px;

}

/* MOTORISTA MAIS LARGO - FINALIZADAS */

#tabelaFinalizadasHoje th:nth-child(6),
#tabelaFinalizadasHoje td:nth-child(6) {

    width: 180px;

}

#tabelaUtilizacao,
#tabelaFinalizadasHoje {

    table-layout: auto;

}

/* ===================================== */
/* AJUSTE EXECUTIVO DAS TABELAS SALA A   */
/* ===================================== */

.maintenance-table {

    table-layout: fixed;
    width: 100%;

}

/* ANO */

.maintenance-table th:nth-child(4),
.maintenance-table td:nth-child(4) {

    width: 70px;
    text-align: center;

}

/* MODELO */

.maintenance-table th:nth-child(3),
.maintenance-table td:nth-child(3) {

    width: 120px;

}

/* MOTORISTA / NOME */

.maintenance-table th:nth-child(6),
.maintenance-table td:nth-child(6) {

    width: 180px;

}

/* MODELO / ANO */

small {

    font-size: 16px;

    opacity: 0.85;

}

/* ===================================== */
/* MANUTENÇÃO */
/* ===================================== */

.campo-modelo {

    flex: 2;

}

.status-ativa {

    color: #facc15;
    font-weight: bold;

}

.status-finalizada {

    color: #22c55e;
    font-weight: bold;

}

.btn-finalizar {

    background: #16a34a;

    color: white;

    border: none;

    border-radius: 4px;

    cursor: pointer;

    padding: 4px 8px;

    font-size: 12px;

    margin: 0 2px;

}

.btn-finalizar:hover {

    background: #15803d;

}

.filtro-manutencao {

    background: #1e293b;

    color: white;

    border: 1px solid #334155;

    border-radius: 8px;

    padding: 8px 12px;

    min-width: 180px;

    font-weight: bold;

}

.btn-exportar {

    background: #2563eb;

    color: white;

    border: none;

    border-radius: 8px;

    padding: 8px 14px;

    cursor: pointer;

    font-weight: bold;

}

.btn-exportar:hover {

    background: #1d4ed8;

}

.btn-limpar {

    background: #dc2626;

    color: white;

    border: none;

    border-radius: 8px;

    padding: 8px 14px;

    cursor: pointer;

    font-weight: bold;

}

.btn-limpar:hover {

    background: #b91c1c;

}

.situacao-ativa {

    color: #facc15;

    font-weight: bold;

}

.situacao-finalizada {

    color: #22c55e;

    font-weight: bold;

}

.situacao-ativa {

    color: #facc15;

    font-weight: bold;

}

.situacao-finalizada {

    color: #22c55e;

    font-weight: bold;

}

.btn-historico {

    background: #7c3aed;

    color: white;

    border: none;

    border-radius: 4px;

    cursor: pointer;

    padding: 4px 8px;

    margin: 0 2px;

}

.btn-historico:hover {

    background: #6d28d9;

}

/* ===================================== */
/* BOTÕES GRID MANUTENÇÃO */
/* ===================================== */

.btn-editar,
.btn-finalizar,
.btn-historico,
.btn-excluir {

    width: 32px;

    height: 32px;

    border: none;

    border-radius: 6px;

    font-size: 14px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    margin: 0 2px;

}

/* ===================================== */
/* HISTÓRICO MANUTENÇÕES */
/* ===================================== */

.historico-manutencoes {

    margin-top: 60px;

    margin-bottom: 40px;

    background: rgba(255,255,255,0.03);

    border: 1px solid rgba(255,255,255,0.08);

    border-radius: 14px;

    padding: 20px;
}

.historico-manutencoes h2 {

    color: white;

    margin-bottom: 20px;
}

.historico-kpis {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;

}

.historico-card {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    min-height: 95px;
}

.historico-card span {

    font-size: 14px !important;

    font-weight: 500 !important;

    color: #cfd8e3;

    text-transform: uppercase;

    margin-bottom: 6px;
}

.historico-card strong {

    display: block !important;

    font-size: 46px !important;

    font-weight: 700 !important;

    color: white !important;

    line-height: 1;
}

.historico-grid {

    overflow-x: auto;
}

.historico-grid table {

    width: 100%;

    border-collapse: collapse;
}

.historico-grid th {

    background: #1f5bbd;

    color: white;

    padding: 12px;
}

.historico-grid td {

    padding: 10px;

    border-bottom:
        1px solid rgba(255,255,255,0.08);

    color: white;
}

.coluna-valor {

    text-align: right;

    color: #00d084;

    font-weight: 700;

    white-space: nowrap;

}

.coluna-acoes {

    min-width: 180px;

    white-space: nowrap;

    text-align: center;

}

.coluna-observacao {

    width: 250px;

    max-width: 250px;

    white-space: normal;

    word-break: break-word;

    overflow-wrap: break-word;
}

.status-grid.kpi-juridico {

    background: linear-gradient(
        135deg,
        #ff9800,
        #ffb74d
    ) !important;

}

.agenda-normal {

    border-left: 5px solid #22c55e;

}

.agenda-prioridade {

    border-left: 5px solid #f59e0b;

    background: rgba(245,158,11,0.15);

}

.agenda-urgente {

    border-left: 5px solid #ef4444;

    background: rgba(239,68,68,0.15);

    animation: piscarUrgente 2s infinite;

}

@keyframes piscarUrgente {

    50% {

        opacity: 0.7;

    }

}

/* ========================= */
/* VEICULOS ADMIN */
/* ========================= */



.campo-data-veiculo label {

    font-size: 11px;

    font-weight: 600;

    color: #ffffff;

    margin-bottom: 4px;
}

.veiculos-acoes button {

    height: 38px;

    border: none;

    border-radius: 6px;

    font-weight: 700;

    cursor: pointer;
}

.veiculo-observacao {

    min-height: 70px;

    padding: 10px;

    border-radius: 6px;
}

.veiculos-acoes button:first-child {

    background: #2563eb;

    color: white;
}

.veiculos-acoes button:last-child {

    background: #dc2626;

    color: white;
}

/* ===================================== */
/* VEÍCULOS ADMIN */
/* ===================================== */

#abaVeiculos .form-grid {

    display: grid !important;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 12px;
}

#abaVeiculos .campo-data {

    display: flex;

    flex-direction: column;

    width: 100%;
}

#abaVeiculos input,
#abaVeiculos select {

    width: 100%;
}

#abaVeiculos textarea {

    width: 100%;

    min-height: 80px;

    grid-column: 1 / -1;
}

#abaVeiculos .acoes-formulario {

    grid-column: 1 / -1;

    display: flex;

    gap: 10px;
}

/* ===================================== */
/* VEÍCULOS ADMIN */
/* ===================================== */

#aba-veiculos .form-grid {

    display: grid !important;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 12px;

    align-items: end;
}

#aba-veiculos .campo-data {

    display: flex;

    flex-direction: column;

    width: 100%;
}

#aba-veiculos input,
#aba-veiculos select {

    width: 100%;
}

#aba-veiculos textarea {

    width: 100%;

    min-height: 80px;

    grid-column: 1 / -1;
}

#aba-veiculos .acoes-formulario {

    display: flex;

    gap: 10px;

    grid-column: 1 / -1;
}

/* ===================================== */
/* VEÍCULOS ADMIN */
/* ===================================== */

.veiculos-linha {

    display: grid !important;

    grid-template-columns: repeat(6, 1fr);

    gap: 12px;

    margin-bottom: 12px;

    align-items: end;
}

.campo-data-veiculo {

    display: flex;

    flex-direction: column;

    width: 100%;
}

.campo-data-veiculo label {

    font-size: 12px;

    font-weight: 700;

    color: #ffffff;

    margin-bottom: 6px;
}

.veiculos-linha input,
.veiculos-linha select {

    width: 100%;

    box-sizing: border-box;

    height: 38px;
}

.veiculo-observacao {

    width: 100%;

    min-height: 70px;

    margin-top: 10px;

    box-sizing: border-box;
}

.veiculos-acoes {

    display: flex;

    gap: 10px;

    margin-top: 15px;
}

.veiculos-acoes button {

    min-width: 140px;

    height: 38px;

    border-radius: 6px;

    font-weight: 600;
}

/* ===================================== */
/* AJUSTE VISUAL ABA VEÍCULOS */
/* ===================================== */

#aba-veiculos .admin-card {

    background: #202842;

    border-radius: 14px;

    padding: 18px;

    border: 1px solid rgba(255,255,255,.08);
}

#aba-veiculos input,
#aba-veiculos select {

    background: #343a50;

    color: #ffffff;

    border: 1px solid #444b63;

    height: 42px;

    border-radius: 8px;
}

#aba-veiculos textarea {

    background: #343a50;

    color: #ffffff;

    border: 1px solid #444b63;

    border-radius: 8px;

    min-height: 80px;
}

#aba-veiculos .campo-data-veiculo label {

    color: #ffffff;

    font-size: 12px;

    font-weight: 600;

    margin-bottom: 6px;
}

#aba-veiculos .veiculos-acoes {

    margin-top: 15px;

    display: flex;

    gap: 10px;
}

#aba-veiculos .veiculos-acoes button {

    min-width: 140px;

    height: 40px;

    font-weight: 600;
}

/* ===================================== */
/* MANUTENÇÃO VEICULAR */
/* ===================================== */

.btn-cancelar {

    background: #dc3545 !important;

    color: #fff !important;

    border: none !important;

    border-radius: 6px !important;

    padding: 14px 20px !important;

    font-size: 15px !important;

    font-weight: 600 !important;

    cursor: pointer !important;

    transition: all .2s ease !important;

    margin-left: 8px;
}

.btn-cancelar:hover {

    background: #b02a37 !important;

    transform: scale(1.05);
}


#listaManutencoes td:nth-child(6) {

    width: 250px;

    white-space: normal;

    word-break: break-word;
}

/* FORÇAR QUEBRA DA OBSERVAÇÃO */

#listaManutencoes td.coluna-observacao {

    width: 280px !important;

    max-width: 280px !important;

    white-space: normal !important;

    word-break: break-word !important;

    overflow-wrap: break-word !important;

    overflow: visible !important;

    text-overflow: unset !important;
}

.col-observacao {

    width: 250px !important;
max-width: 250px !important;
white-space: normal !important;
overflow-wrap: break-word !important;
word-break: break-word !important;
display: table-cell !important;

}



/* OBSERVAÇÃO - UTILIZAÇÕES */

#tabelaUtilizacao td:last-child {

    min-width: 300px !important;

    width: 300px !important;

    white-space: normal !important;

    word-break: break-word !important;

    overflow-wrap: break-word !important;

    text-overflow: unset !important;

    text-align: left !important;

    line-height: 1.3;
}

.badge-tipo {

    background: rgba(13,91,209,.25);

    border: 1px solid #0d5bd1;

    border-radius: 12px;

    padding: 3px 8px;

    font-size: 11px;

    font-weight: bold;

    color: #ffffff;

}

.veiculo-destaque {

    font-weight: bold;

    color: #ffffff;

}

.km-destaque {

    color: #39c6ff;

    font-weight: bold;

    font-size: 14px;

}

.observacao-finalizada {

    min-width: 250px;

    width: 250px;

    white-space: normal;

    word-break: break-word;

    text-align: left;

}



/* ===================================== */
/* UTILIZAÇÕES FINALIZADAS HOJE */
/* ===================================== */

.tabela-dados thead th {

    background: #0d5bd1 !important;

    color: #ffffff !important;

    font-weight: 700 !important;

    text-transform: uppercase;

    padding: 8px !important;

    border: none !important;

}

/* ===================================== */
/* CORREÇÃO FINAL GRID VEÍCULOS */
/* ===================================== */

.table-container {

    max-height: none !important;

    overflow: visible !important;
}

main {

    min-height: calc(100vh - 120px) !important;

    overflow: visible !important;
}

/* ===================================== */
/* HISTÓRICO MANUTENÇÕES */
/* ===================================== */

#telaHistoricoManutencoes .historico-kpis {

    display: grid !important;

    grid-template-columns: repeat(4, 1fr) !important;

    gap: 10px !important;
}

#telaHistoricoManutencoes .historico-card {

    min-height: 130px !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    align-items: center !important;

    text-align: center !important;
}

#telaHistoricoManutencoes .historico-card span,
#telaHistoricoManutencoes .kpi-titulo {

    display: block !important;

    font-size: 18px !important;

    margin-bottom: 6px !important;

     color: rgba(255,255,255,.85) !important;

   font-weight: bold;
    
    letter-spacing: 0.5px;
}

#telaHistoricoManutencoes .historico-card strong,
#telaHistoricoManutencoes .kpi-valor {

    display: block !important;

    font-size: 58px !important;

    font-weight: 700 !important;

    line-height: 1 !important;

    color: #ffffff !important;
}

#kpiHistoricoMaisOnerosoValor {

    display: block !important;

    margin-top: 4px;

    font-size: 36px !important;

    font-weight: 700 !important;

    color: white !important;

    line-height: 1 !important;

}

/* ===================================== */
/* AJUSTE TV 50" */
/* ===================================== */

.topo {

    min-height: 90px !important;

    padding-top: 10px !important;

    padding-bottom: 10px !important;
}

.logo-area {

    align-items: center !important;
}

.logo-area div {

    padding-top: 4px;
}

.tela {

    padding-top: 18px !important;
}

/* ===================================== */
/* CABEÇALHO TV V1.0 */
/* ===================================== */

.topo {

    display: flex !important;

    justify-content: space-between !important;

    align-items: center !important;

    min-height: 70px !important;

    padding: 8px 15px !important;

    border-bottom: none !important;
}

.topo-esquerda {

    display: flex;

    align-items: center;

    gap: 6px;
}

.info-sistema h2 {

    margin: 0;

    font-size: 34px;

    color: #fff;

    font-weight: 700;
}

.info-sistema p {

    font-size: 24px;

    font-weight: 600;

}

.logo {

    height: 90px !important;
}

.painel-direita {

    display: flex;

    align-items: center;

    gap: 6px;
}

#relogio {

    font-size: 28px !important;

    font-weight: 700;
    
        line-height: 1;

}

#dataAtual {

    font-size: 28px !important;

    font-weight: 700;
    
        line-height: 1;
        
         position: relative;

    top: -2px;


}

.online {

    font-size: 11px;
}

/* ===================================== */
/* KPI MANUTENÇÃO */
/* ===================================== */

.kpi-manutencao {

    background: linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    ) !important;
}

.kpi-preventiva {

    background: linear-gradient(
        135deg,
        #facc15,
        #f59e0b
    ) !important;

    color: #111 !important;
}

.kpi-corretiva {

    background: linear-gradient(
        135deg,
        #ef4444,
        #dc2626
    ) !important;
}

.kpi-critica {

    background: linear-gradient(
        135deg,
        #fb923c,
        #ea580c
    ) !important;
}

/* ===================================== */
/* HISTÓRICO DE MANUTENÇÕES */
/* ===================================== */

.historico-finalizadas {

    background: linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    ) !important;
}

.historico-investimento {

    background: linear-gradient(
        135deg,
        #facc15,
        #f59e0b
    ) !important;

    color: #111 !important;
}

.historico-veiculos {

    background: linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    ) !important;
}

.historico-oneroso {

    background: linear-gradient(
        135deg,
        #dc2626,
        #991b1b
    ) !important;
}

.historico-investimento strong,
.historico-oneroso strong {

    font-size: 38px !important;

    font-weight: 700;
}

.historico-finalizadas span,
.historico-investimento span,
.historico-veiculos span,
.historico-oneroso span {

    color: #111 !important;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}

.historico-finalizadas > span,
.historico-investimento > span,
.historico-veiculos > span,
.historico-oneroso > span {

    color: #111 !important;

    font-weight: 700 !important;

}

/* ===================================================== */
/* KPI MASTER - PADRÃO GLOBAL */
/* ===================================================== */

.kpi-card {

    border-radius: 14px !important;

    height: 112px !important;

    min-height: 78px !important;

    padding: 8px 10px !important;

    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    align-items: center !important;

    text-align: center !important;

    box-shadow:
        0 4px 12px rgba(0,0,0,.25) !important;

    overflow: hidden;
}

/* TÍTULO */

.kpi-card h3,
.kpi-card p,
.kpi-card span:first-child {

    font-size: 22px !important;

    font-weight: 700 !important;

    text-transform: uppercase !important;

    letter-spacing: .4px !important;

    line-height: 1.1 !important;

    margin: 0 !important;
}

/* VALOR */

.kpi-card span,
.kpi-card strong,
.kpi-card h3[id] {

    font-size: 58px !important;

    font-weight: 800 !important;

    line-height: 1 !important;
}

.kpi-azul{
    background:#2563eb;
}

.kpi-verde{
    background:#22c55e;
}

.kpi-amarelo{
    background:#facc15;
    color:#111;
}

.kpi-laranja{
    background:#f97316;
}

.kpi-vermelho{
    background:#ef4444;
}

.kpi-roxo{
    background:#8b5cf6;
}

.kpi-ciano{
    background:#06b6d4;
}

#kpiPainelUltimaTroca {

    font-size: 22px !important;

    line-height: 1 !important;

}

/* ===================================== */
/* MODAL TROCA DE ÓLEO */
/* ===================================== */

.modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.modal-content{

    width:420px;

    max-width:90%;

    background:#172033;

    border-radius:12px;

    padding:25px;

    box-shadow:0 0 30px rgba(0,0,0,.5);

    color:white;

}

.modal-content h2{

    margin-bottom:20px;

    text-align:center;

}

.modal-content input,

.modal-content select{

    width:100%;

    margin-top:8px;

    margin-bottom:18px;

}

.ultima-atualizacao{

    margin-top:12px;

    padding-top:8px;

    border-top:1px solid rgba(255,255,255,.15);

    font-size:14px;

    color:#bfc7d5;

    text-align:center;

    opacity:.85;

}

.status-juridico-renovacao {
    background: linear-gradient(135deg, #f59e0b, #ea580c);
    color: #fff;
}

/* ===================================== */
/* KPI - VEÍCULO MAIS ONEROSO */
/* ===================================== */

.historico-oneroso{

    background:linear-gradient(135deg,#d32f2f,#b71c1c);

}

.historico-oneroso .placa-oneroso{

    display:block;

    font-size:38px;

    font-weight:800;

    line-height:1;

    margin-top:8px;

}

.historico-oneroso .valor-oneroso{

    display:block;

    font-size:22px;

    font-weight:700;

    margin-top:6px;

    color:#fff;

}