/**
 * Tokens Golden Mix — identidade portal
 */
:root {
    --brand-primary: #fecf06;
    --brand-secondary: #f99d1c;
    --brand-cta: #fecf06;
    --brand-cta-hover: #e6b905;
    --brand-texto: #000000;
    --brand-texto-suave: #2d2d2d;
    --brand-branco: #ffffff;
    --brand-cinza: #d1d3d4;
    --brand-accent: #f99d1c;
    --brand-on-primary: #000000;
    --brand-surface-soft: #fff9e6;
    --brand-surface-muted: #fff3cc;
    --brand-danger: #c62828;
    --brand-danger-hover: #b71c1c;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
}

body {
    min-height: 100%;
    font-family: 'Titillium Web', sans-serif;
    color: var(--brand-texto);
    background-color: var(--brand-branco);
}

#loading {
    display: none;
    background-color: rgba(255, 255, 255, 0.7);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100000;
}

.loader {
    border: 5px solid rgba(255, 255, 255, 0);
    border-radius: 50%;
    border-top: 5px solid var(--brand-secondary);
    width: 40px;
    height: 40px;
    animation: spin 0.7s linear infinite;
    margin: 0 auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#snackbar,
#snackbarError {
    visibility: hidden;
    z-index: 300000;
    display: flex;
    width: 100%;
    justify-content: center;
    position: fixed;
    bottom: 30px;
}

#snackbar p {
    background-color: var(--brand-secondary);
    color: var(--brand-branco);
    border-radius: 2px;
    padding: 16px;
    font-size: 17px;
    width: 350px;
    margin: 0 auto;
}

#snackbarError p {
    background-color: #c4141a;
    color: var(--brand-branco);
    border-radius: 2px;
    padding: 16px;
    font-size: 17px;
    width: 350px;
    margin: 0 auto;
}

#snackbar.show,
#snackbarError.show {
    visibility: visible;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@keyframes fadein {
    from { bottom: 0; opacity: 0; }
    to { bottom: 30px; opacity: 1; }
}

@keyframes fadeout {
    from { bottom: 30px; opacity: 1; }
    to { bottom: 0; opacity: 0; }
}

.btn-brand,
#sendLogin,
button[style*="#2cc461"],
input[style*="#2cc461"] {
    background-color: var(--brand-cta) !important;
    border-color: var(--brand-cta) !important;
    color: var(--brand-texto) !important;
    font-weight: bold;
}

.btn-brand:hover,
#sendLogin:hover {
    background-color: var(--brand-cta-hover) !important;
    border-color: var(--brand-cta-hover) !important;
}
