:root {
    --bg: #0b1220;
    --panel: #0f2038;
    --panel2: #0e1b2e;
    --text: #e6ecff;
    --muted: #9fb7ff;
    --brand: #13325B;
    --brand2: #1A3A6B;
    --border: #1e3a5f;
    --good: #16a34a;
    --warn: #FFC107;
    --err: #F44336;
    --info: #00BCD4;
}

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font: 14px/1.45 system-ui, Segoe UI, Roboto;
}

.wrap {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
}

.row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.card {
    position: relative;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 10px;
}

.toolbar-sticky {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--panel);
}

.btn {
    background: var(--brand);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 8px 14px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.btn:disabled {
    background: #2a446d;
    color: #c7d2fe;
    cursor: not-allowed;
}

.btn:hover:not(:disabled) {
    background: var(--brand2);
}

input, textarea, select {
    background: var(--panel2);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
}

.pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pill {
    background: #123;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 3px 10px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 8px;
    border-bottom: 1px solid var(--border);
}

/* card normal */
.card {
    position: relative;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 10px;
}

/* card da tabela scrollável (spots): remove padding pra tabela encostar na borda arredondada */
.table-scroll.card {
    padding: 0; /* isso elimina aquele vão lateral onde estava “vazando” */
}

/* tabela base */
table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--border);
}

/* cabeçalho fixo da tabela */
thead th {
    position: sticky;
    top: 0;
    z-index: 5;

    /* fundo sólido cobrindo totalmente o header */
    background: var(--panel); /* = #0f2038 do seu tema, mesmo do card */
    color: var(--text);

    /* centraliza os nomes das colunas */
    text-align: center;
    font-weight: 600;

    border-bottom: 1px solid var(--border);

    /* sombra na borda inferior pra destacar do resto da tabela */
    box-shadow: 0 2px 4px rgba(0,0,0,0.8);
}

/* arredonda canto superior esquerdo e direito do header,
   já que agora ele encosta direto na borda da .card */
.table-scroll thead th:first-child {
    border-top-left-radius: 14px;
}

/* Adicione isso ao seu arquivo style.css */
/* Estilo para a linha da LT monitorada (verde e pulsando) */
	.highlighted {
	    /* Fundo sutilmente verde-azulado para destacar na tabela escura */
	    background-color: rgba(22, 163, 74, 0.1); /* Verde sutil */
	    font-weight: bold;
	    animation: pulse-green 1.5s infinite alternate; /* Aplica a nova animação */
	}
	
	.highlighted:hover {
	    background: rgba(22, 163, 74, 0.2); /* Escurece um pouco no hover */
	}
	
	.highlighted .hl {
	    color: #86efac; /* Cor do texto LT em verde claro */
	    font-weight: 900;
	}


.table-scroll thead th:last-child {
    border-top-right-radius: 14px;
}

/* hover nas linhas continua igual */
tr:hover {
    background: #11223f;
}



tr:hover {
    background: #11223f;
}

.status {
    font-weight: 700;
}

.status[data-t="PENDENTE"] {
    color: var(--err);
}

.status[data-t="EM DOCA"] {
    color: var(--warn);
}

.status[data-t="CHEGADA"] {
    color: var(--good);
}

.status[data-t="FINALIZADA"] {
    color: #aaa;
}

/* Animação de pulsar para LH em processamento */
/* Animação de pulsar para LH em processamento (mantida) */
	@keyframes pulse {
	    0% { background-color: rgba(0,255,255,0.06); }
	    50% { background-color: rgba(0,255,255,0.25); }
	    100% { background-color: rgba(0,255,255,0.06); }
	}
	
	tr.processing {
	    animation: pulse 1s infinite;
	}
	
	/* Animação de pulsar para a linha da LT monitorada (verde) */
	@keyframes pulse-green {
	    0% { background-color: rgba(22, 163, 74, 0.1); }
	    100% { background-color: rgba(22, 163, 74, 0.3); }
	}

/* Abas */
.tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.tab {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--panel2);
    cursor: pointer;
}

.tab.active {
    background: #17325e;
}

.hidden {
    display: none !important;
}

/* Spots extras */
.hl {
	    /* Estilo para o número da LT destacado */
	    background: rgba(22, 163, 74, 0.3); /* Fundo verde mais forte */
	    color: #86efac; /* Cor do texto LT em verde claro */
	    border-radius: 6px;
	    padding: 2px 6px;
	}

#s_map {
    width: 100%;
    min-height: 260px;
    display: block;
}

/* Logs com quebra e scroll correto */
.log, .log-spots {
    height: 22vh;
    overflow: auto;
    background: var(--panel2);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
    white-space: pre-wrap;
    word-break: break-word;
}

.log-spots {
    height: 18vh;
}

