:root {
    --financeiro-primary: #2f6f68;
    --financeiro-primary-dark: #234f4a;
    --financeiro-primary-soft: #e8f2f0;
    --financeiro-accent: #7bc0b7;
    --financeiro-surface: #ffffff;
    --financeiro-background: #f3f6f5;
    --financeiro-border: #dfe8e6;
    --financeiro-text: #263c39;
    --financeiro-muted: #60736f;
    --cor-primaria: #234f4a;
    --cor-primaria-clara: #2d625d;
    --cor-secundaria: #7bc0b7;
}

body {
    color: var(--financeiro-text);
    background: var(--financeiro-background);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.finance-skip-link {
    position: fixed;
    z-index: 2000;
    top: 10px;
    left: 12px;
    padding: 10px 14px;
    border-radius: 7px;
    color: #fff;
    background: #173f3a;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
    transform: translateY(-160%);
    transition: transform .15s ease;
}

.finance-skip-link:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
summary:focus-visible {
    outline: 2px solid #0b5f55 !important;
    outline-offset: 1px;
    box-shadow: 0 0 0 3px rgba(123, 192, 183, .35) !important;
}

.finance-required-marker {
    color: #a51d18;
    font-weight: 700;
}

.finance-field-error {
    display: block;
    color: #a51d18;
    font-weight: 600;
}

.form-control.is-invalid,
.form-select.is-invalid,
.form-check-input.is-invalid {
    border-color: #a51d18;
}

body[data-sidebar="dark"] .navbar-brand-box,
body[data-sidebar="dark"] .vertical-menu {
    background-color: var(--financeiro-primary-dark);
}

body[data-sidebar="dark"] #page-topbar {
    background-color: var(--financeiro-surface);
}

.financeiro-logo {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .01em;
}

.financeiro-logo:hover {
    color: #fff;
}

.foundation-card {
    min-height: 132px;
}

#side-menu a.is-disabled {
    cursor: not-allowed;
    opacity: .55;
}
