:root {
    --agenda-petroleo: #004b56;
    --agenda-petroleo-escuro: #003d46;
    --agenda-turquesa: #00b9c5;
    --agenda-texto: #164e58;
    --agenda-suave: #effbfc;
    --agenda-borda: #a8e8ed;
}

.aviso {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid;
    border-left-width: 5px;
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: 0 3px 10px rgb(0 0 0 / 7%);
    overflow-wrap: anywhere;
}
.aviso-sucesso { background: #e5f5eb; border-color: #26834a; color: #14532d; }
.aviso-erro { background: #ffebeb; border-color: #c83b3b; color: #8c2020; }
.aviso-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    height: 28px;
    border-radius: 50%;
    background: currentColor;
}
.aviso-icone::before { color: white; font-weight: 700; font-size: 18px; }
.aviso-sucesso .aviso-icone::before { content: '\2713'; }
.aviso-erro .aviso-icone::before { content: '!'; }
.aviso strong { display: block; font-weight: 700; }
.aviso p { margin: 3px 0 0; }
.aviso-flutuante {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 70;
    width: 440px;
    max-width: calc(100vw - 32px);
}
.aviso-flutuante[hidden] { display: none; }
.aviso-fechar {
    margin-left: auto;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    font-size: 22px;
    line-height: 1;
}
.aviso-fechar:hover { background: rgb(0 0 0 / 7%); }
.aviso-fechar:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

@media screen {
    body.bg-gray-100 {
        background: radial-gradient(ellipse at top right, #d5f4f6 0, transparent 55%), #f1f7f8;
    }

    body > div > header {
        border-top: 3px solid var(--agenda-turquesa);
    }

    header h1 { color: var(--agenda-petroleo); }

    aside {
        border-right-color: var(--agenda-borda);
        box-shadow: 2px 0 12px rgb(0 75 86 / 4%);
    }

    aside nav a { border-left: 3px solid transparent; }
    aside nav a.bg-brand-100 { border-left-color: var(--agenda-turquesa); }

    .evento {
        border-left-color: var(--agenda-turquesa);
        background: #d5f4f6;
        color: var(--agenda-texto);
        box-shadow: 0 3px 8px rgb(0 75 86 / 12%);
    }

    .evento small { color: var(--agenda-petroleo); }
    .evento:hover { background: #c2edf0; }
    .cabecalho-dia.hoje { background: var(--agenda-suave); color: var(--agenda-petroleo); }
    .indicador-eventos { color: var(--agenda-petroleo); }
    .indicador-eventos span { background: #d5f4f6; }
    .indicador-eventos span::before { background: #007e8c; }
    .field-input:focus {
        border-color: var(--agenda-turquesa);
        box-shadow: 0 0 0 2px rgb(0 185 197 / 18%);
    }

    #tableAcessos thead { background: var(--agenda-petroleo); color: white; }
    #tableAcessos thead th { border-color: #326e78; }
    .login-card { border-top: 4px solid var(--agenda-turquesa); }
}
