/* ── KMKZY: Override Bootstrap success/green com Verde Brand #4fc035 ── */
:root {
    --bs-green:              #4fc035;
    --bs-success:            #4fc035;
    --bs-success-rgb:        79, 192, 53;
    --bs-success-text:       #4fc035;
    --bs-success-bg-subtle: #1a2f1a;
    --bs-success-border-subtle: #3da028;
}

.btn-success {
    background-color: #4fc035 !important;
    border-color: #3da028 !important;
    color: #ffffff !important;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.show > .btn-success.dropdown-toggle {
    background-color: #3da028 !important;
    border-color: #2e8020 !important;
    color: #ffffff !important;
}

.btn-outline-success {
    color: #4fc035 !important;
    border-color: #4fc035 !important;
}

.btn-outline-success:hover,
.btn-outline-success:active {
    background-color: #4fc035 !important;
    border-color: #4fc035 !important;
    color: #ffffff !important;
}

.bg-success {
    background-color: #4fc035 !important;
}

.text-success {
    color: #4fc035 !important;
}

.border-success {
    border-color: #4fc035 !important;
}

.badge.bg-success {
    background-color: #4fc035 !important;
    color: #ffffff !important;
}

.form-check-input:checked {
    background-color: #4fc035 !important;
    border-color: #3da028 !important;
}

.alert-success {
    background-color: #e8f7e3 !important;
    border-color: #4fc035 !important;
    color: #1f4d14 !important;
}

/* ── Fim override verde KMKZY ── */

.f-8 {
    font-size: 8px;
    line-height: 12px;
}

.f-10 {
    font-size: 10px;
    line-height: 14px;
}

.f-12 {
    font-size: 12px;
    line-height: 16px;
}

.f-14 {
    font-size: 14px;
    line-height: 18px;
}

.f-16 {
    font-size: 16px;
    line-height: 20px;
}

.f-18 {
    font-size: 18px;
    line-height: 22px;
}

.f-20 {
    font-size: 20px;
    line-height: 24px;
}

.f-22 {
    font-size: 22px;
    line-height: 26px;
}

.f-24 {
    font-size: 24px;
    line-height: 28px;
}

.f-26 {
    font-size: 26px;
    line-height: 30px;
}

.f-28 {
    font-size: 28px;
    line-height: 32px;
}

.f-30 {
    font-size: 30px;
    line-height: 34px;
}

.f-32 {
    font-size: 32px;
    line-height: 36px;
}

.f-34 {
    font-size: 34px;
    line-height: 38px;
}

.f-36 {
    font-size: 36px;
    line-height: 40px;
}

.f-38 {
    font-size: 38px;
    line-height: 42px;
}

.f-40 {
    font-size: 40px;
    line-height: 44px;
}

.lh-8 {
    line-height: 8px;
}

.lh-10 {
    line-height: 10px;
}

.lh-12 {
    line-height: 12px;
}

.lh-14 {
    line-height: 14px;
}

.lh-16 {
    line-height: 16px;
}

.lh-18 {
    line-height: 18px;
}

.lh-20 {
    line-height: 20px;
}

.lh-22 {
    line-height: 22px;
}

.lh-24 {
    line-height: 24px;
}

.lh-26 {
    line-height: 26px;
}

.lh-28 {
    line-height: 28px;
}

.lh-30 {
    line-height: 30px;
}

.lh-32 {
    line-height: 32px;
}

.lh-34 {
    line-height: 34px;
}

.lh-36 {
    line-height: 36px;
}

.lh-38 {
    line-height: 38px;
}

.fw-600 {
    font-weight: 600 !important;
}

.bg-black {
    background-color: #0d0d0d;
}

.bg-gray {
    background-color: #2f2f2f;
}

.bg-light-gray {
    background-color: #d8d8d8 !important;
    color: #1a1a1a !important;
}

.bg-light {
    background-color: #e0e0e0 !important;
    color: #1a1a1a !important;
}

.bg-orange {
    background-color: #2f2f2f !important;
}

.bg-orange th,
.bg-orange td {
    color: #ffffff !important;
}

.bg-secondary {
    background-color: #4fc035 !important;
}

.bg-secondary th,
.bg-secondary td {
    color: #1a1a1a !important;
}

.box-dark {
    background-color: #cccccc;
}

.text-orange {
    color: #2277eb !important;
}

.trace-orange {
    border-bottom: 2px solid #4fc035;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.text-gray {
    color: #666666 !important;
}

.text-light-gray {
    color: #999999 !important;
}

.text-bold {
    font-weight: 600 !important;
}

.border-light-gray {
    border: 1px solid #3a3a3a !important;
}


* {
    outline: none;
}

body {
    background-color: #e8e8e8;
    color: #1a1a1a;
    font-family: 'Ubuntu', sans-serif;
}

p {
    font-size: 20px;
    line-height: 30px;
    font-weight: 300;
}

body.no-scroll {
    overflow: hidden !important;
}

input,
select,
textarea {
    font-family: 'Ubuntu', sans-serif;
    color: #1a1a1a !important;
    background-color: #ffffff !important;
    border-color: #cccccc !important;
}

input::placeholder,
textarea::placeholder {
    color: #9a9ea8 !important;
}

.form-control,
.form-select {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border-color: #cccccc !important;
}

.form-control:focus,
.form-select:focus {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border-color: #4fc035 !important;
    box-shadow: 0 0 0 0.2rem rgba(79, 192, 53, 0.25) !important;
}

.form-floating label {
    color: #6c757d !important;
}

p {
    font-family: 'Ubuntu', sans-serif;
    color: #333333;
}

strong {
    font-weight: 700;
}

#alertBanner h4 {
    font-weight: 600 !important;
    font-size: 20px !important;
    margin-bottom: 5px !important;
}

.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
    font-family: 'Ubuntu';
    font-weight: bold;
    font-size: 20px;
    text-transform: uppercase;
}

.jconfirm .jconfirm-box.jconfirm-type-blue {
    border-color: #002159 !important;
}

.table.v-middle td {
    vertical-align: middle;
}

.accordion-button {
    background-color: #0d0d0d;
    border-color: #2e2e2e;
    color: #ffffff;
    padding: 0.75rem 1rem;
}

.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed) {
    background-color: #1a1a1a;
    opacity: 1;
    color: #ffffff;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:focus {
    box-shadow: none;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: inherit;
    box-shadow: none;
}

.btn-check:focus+.btn-outline-primary,
.btn-outline-primary:focus,
.btn-check:focus+.btn,
.btn:focus {
    box-shadow: none;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #1e2125;
    background-color: #e9ecef;
}

.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip,
.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip {
    text-align: left;
}

.input-group .form-floating {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.input-group .form-floating:is(:first-child) input,
.input-group .form-floating:is(:first-child) select {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.input-group .form-floating:is(:nth-child(2)) input,
.input-group .form-floating:is(:nth-child(2)) select {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.input-group-text.is-invalid {
    border-color: #d82400;
}

.form-floating>label {
    color: #7a7e8a;
    opacity: 1 !important;
}

.noselect {
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

body {
    min-height: 100vh;
    padding-top: 80px;
    padding-bottom: 55px;
}

a,
.nav-link {
    color: #2277eb;
}

a:hover {
    color: #1a65d4;
}

.btn {
    border-radius: 0;
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-style: italic;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.btn-lg {
    font-weight: 700;
    font-size: 16px;
    line-height: normal;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.btn-primary {
    background-color: #111111;
    border-color: #333333;
    color: #ffffff;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.btn-primary:hover,
.btn-check:focus+.btn-primary,
.btn-primary:focus,
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,
.btn-primary:active,
.show>.btn-primary.dropdown-toggle {
    background-color: #d82400;
    border-color: #b51e00;
    color: #ffffff;
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #333333;
    border-color: #333333;
    color: #888888;
}


.btn-outline-primary {
    color: #4fc035;
    border-color: #4fc035;
    background-color: transparent;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-outline-primary:hover,
.btn-check:active+.btn-outline-primary,
.btn-check:checked+.btn-outline-primary,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show,
.btn-outline-primary:active {
    color: #ffffff;
    background-color: #4fc035;
    border-color: #4fc035;
}

.form-check {
    display: block;
    min-height: 1.71rem;
    padding-left: 2em;
    margin-bottom: 0.3rem;
}

.form-check .form-check-input {
    width: 25px;
    height: 25px;
    margin-left: -2em;
    margin-top: 0px;
}

/* form-check-input:checked definido no topo com verde KMKZY */

.dropdown-toggle::after {
    color: #2277eb;
}

.navbar .dropdown img {
    border: 2px solid #2277eb;
    height: 45px;
    width: 45px;
}

.navbar .navbar-nav .nav-link:focus,
.navbar .navbar-nav .nav-link:hover {
    color: #1a65d4 !important;
}

header .nav-link {
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-size: 14px;
    font-weight: 600;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

h1 {
    font-size: 60px;
    font-weight: 700;
    font-style: italic;
    line-height: normal;
    text-transform: uppercase;
}

h2 {
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-size: 54px;
    font-weight: 700;
    font-style: italic;
    line-height: normal;
    text-transform: uppercase;
}

h3 {
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-size: 36px;
    font-weight: 700;
    font-style: italic;
    line-height: normal;
    text-transform: uppercase;
}

h4 {
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-size: 30px;
    font-weight: 700;
    font-style: italic;
    line-height: normal;
    text-transform: uppercase;
    color: #2277eb;
}

h5 {
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    font-size: 24px;
    font-weight: 600;
    font-style: italic;
    line-height: normal;
    text-transform: uppercase;
}

.banner {
    background-position: center;
    background-size: cover;
    background-color: #0d0d0d;
    position: relative;
    margin-top: -80px;
    padding-top: 140px;
    padding-bottom: 75px;
    margin-bottom: 20px;
}

.banner::before {
    background-color: rgba(0, 0, 0, 1) !important;
    opacity: 0.5 !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    content: ' ' !important;
    border-radius: inherit;
}

.banner h1 {
    position: relative;
    font-family: 'Orbitron', 'Ubuntu', sans-serif;
    color: #ffffff;
    font-size: 72px;
    line-height: 72px;
    text-transform: uppercase;
    margin: 0;
}

footer .copyright {
    font-size: 12px;
    font-weight: 300;
}

form .info {
    font-size: 16px;
    line-height: 20px;
}

.table-naked tr,
.table-naked tr td {
    background-color: transparent !important;
    border: none !important;
}

/* ── Seções de formulário dark ── */
.bg-light-gray h4,
.bg-light h4,
.bg-gray h4 {
    color: #4fc035;
    border-bottom: 2px solid #4fc035;
    padding-bottom: 8px;
    margin-bottom: 16px;
}

.bg-light-gray h3,
.bg-light h3,
.bg-gray h3 {
    color: #ffffff;
}

/* Labels claros sobre fundo escuro */
.bg-light-gray label,
.bg-light label,
.bg-gray label,
.form-check-label {
    color: #ffffff;
}

/* Texto auxiliar / descrições */
.bg-light-gray small,
.bg-light small,
.bg-gray small,
.bg-light-gray .text-muted,
.bg-light .text-muted {
    color: #b8bcc8 !important;
}

/* Checkbox e radio */
.form-check-input {
    background-color: #ffffff;
    border-color: #aaaaaa;
}

/* Tabelas */
.table {
    color: #1a1a1a;
}

.table td,
.table th {
    border-color: #dee2e6;
}

.table-bordered {
    border-color: #dee2e6;
}

/* Dropdown items */
.dropdown-item {
    color: #1a1a1a;
    background-color: #ffffff;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: #1a1a1a;
    background-color: #f0f0f0;
}

.dropdown-menu {
    background-color: #ffffff;
    border-color: #cccccc;
}

/* Alertas — fundo claro */
.alert-info {
    background-color: #e6f0ff;
    border-color: #2277eb;
    color: #0d3a6e;
}

/* .alert-success definido no topo com verde KMKZY */

.alert-warning {
    background-color: #fff8d6;
    border-color: #e6b800;
    color: #5a4500;
}

.alert-danger {
    background-color: #ffeae5;
    border-color: #d82400;
    color: #6b1200;
}

/* .badge.bg-success e .badge-success definidos no topo com verde KMKZY */

/* Dropdown — tema claro */
.dropdown-item {
    color: #1a1a1a;
    background-color: #ffffff;
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: #1a1a1a;
    background-color: #f0f0f0;
}

.dropdown-menu {
    background-color: #ffffff;
    border-color: #cccccc;
}

/* Tabelas — tema claro */
.table {
    color: #1a1a1a;
}

.table td,
.table th {
    border-color: #dee2e6;
}

/* Seções de formulário — fundo claro com borda verde */
.bg-light-gray h4,
.bg-light h4 {
    color: #2277eb;
    border-bottom: 2px solid #4fc035;
    padding-bottom: 8px;
    margin-bottom: 16px;
}

.bg-light-gray label,
.bg-light label,
.form-check-label {
    color: #333333;
}

.bg-light-gray small,
.bg-light small,
.bg-light-gray .text-muted,
.bg-light .text-muted {
    color: #666666 !important;
}

@media (max-width: 767px) {
    .banner {
        margin-top: -80px;
        padding-top: 120px;
        padding-bottom: 55px;
    }

    .banner h1 {
        font-size: 42px;
        line-height: 42px;
    }
}

@media (max-width: 1199px) {
    header .nav-link {
        font-size: 14px;
    }
}