@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --azul-escuro: rgb(31, 61, 82);
    --azul-header: rgb(69, 137, 158);
    --azul-claro: rgb(113, 149, 179);
    --azul-destaque: rgb(45, 156, 178);
    --cinza-fundo: #f2f4f6;
    --cinza-card: #ffffff;
    --cinza-borda: #dfe4e8;
    --texto-principal: #1f2d33;
    --texto-suave: #5c6b73;
    --sucesso: #2e8b57;
    --alerta: #c0392b;
    --sombra: rgba(20, 40, 55, 0.12);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", sans-serif;
}

body {
    background-color: var(--cinza-fundo);
    color: var(--texto-principal);
    min-height: 100vh;
}

header.topo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.5rem;
    background-color: var(--azul-header);
    color: #fff;
    box-shadow: 0 2px 6px var(--sombra);
}

header.topo img {
    height: 40px;
    width: auto;
    border-radius: 6px;
}

header.topo p {
    font-weight: 700;
    letter-spacing: 0.02em;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    cursor: pointer;
    border: none;
    font-family: inherit;
}

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

th, td {
    text-align: left;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--cinza-borda);
    font-size: 0.9rem;
}

th {
    color: var(--texto-suave);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

tbody tr:hover {
    background-color: rgba(69, 137, 158, 0.06);
}

[hidden] {
    display: none !important;
}
