﻿/* ============================================================
   Design Tokens — isINGRESSO
   Fonte de verdade para cores, tipografia e espaçamento.
   Altere aqui para propagar para todos os arquivos CSS.
   ============================================================ */
:root {
    /* Marca — navy é a cor oficial (propaga para style.css/night-mode.css via --color-brand) */
    --color-brand:              #09036B;
    --color-brand-bg:           #eeeef8;

    /* Aliases alinhados com public.css */
    --brand-primary:            #09036B;
    --brand-secondary:          #0909A0;
    --brand-accent:             #00D4FF;
    --brand-gradient:           linear-gradient(135deg, #09036B 0%, #0909A0 55%, #00D4FF 100%);
    --brand-primary-rgb:        9, 3, 107;

    /* Ações */
    --color-primary:            #007bff;
    --color-success:            #28a745;
    --color-danger:             #dc3545;
    --color-warning:            #FDB51C;
    --color-warning-dark:       #D79A18;

    /* Neutros */
    --color-text:               #333333;
    --color-text-dark:          #000000;
    --color-text-alt:           #212529;
    --color-text-secondary:     #686f7a;
    --color-text-muted:         #737479;
    --color-white:              #ffffff;

    /* Superfícies */
    --color-bg-body:            #f7f7f7;
    --color-bg-readonly:        #f1f1f1;
    --color-bg-input:           #ffffff;
    --color-bg-light:           #f8f9fa;

    /* Bordas */
    --color-border:             #e5e5e5;
    --color-border-light:       #efefef;

    /* Wizard */
    --color-step-inactive:      #dae1e8;
    --color-step-inactive-border: #b6c2cf;
    --color-step-line:          #C4CAD2;

    /* Misc */
    --color-spinner-track:      #E6E6E6;
    --color-selection:          #cce2ff;

    /* Tipografia */
    --font-primary:             'Roboto', sans-serif;
    --font-secondary:           'Open Sans', sans-serif;
    --font-size-base:           14px;

    /* Layout */
    --header-height:            60px;
    --sidebar-width:            240px;

    /* Border-radius */
    --radius-xs:    3px;
    --radius-sm:    5px;
    --radius-md:    7px;
    --radius-lg:    10px;
    --radius-xl:    20px;
    --radius-pill:  25px;

    /* Transições */
    --transition-fast:      all 0.2s ease-in-out;
    --transition-default:   all 0.3s ease-out;
    --transition-slow:      all 0.4s ease-in;
}

h2 {
    color: var(--color-text) !important;
}

.titulo-color {
    color: var(--color-text) !important;
}

h4 {
    color: var(--color-text-dark) !important;
}

label {
    padding: 0 !important;
}

/* O reset global de padding acima também zera o padding-left que o Semantic UI dá ao
   label do checkbox (.ui.checkbox label => 1.85714em), espaço necessário para o box
   desenhado por label:before em left:0. Sem ele, o box fica por cima das primeiras
   letras do texto (ex.: "Cupom ativo" virava "pom ativo"). Restaura só nesse caso.
   Exclui toggle/slider: eles usam padding-left maior (4.5rem, SEM !important no vendor),
   que este !important sobreporia, jogando o label por cima do trilho do toggle. */
.ui.checkbox:not(.toggle):not(.slider) label {
    padding-left: 1.85714em !important;
}

/* BEGIN - buttons */

.btn-primary {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #ffffff;
}

    .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary.disabled, .btn-primary:disabled, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active {
        border-color: rgba(0, 110, 229, 242);
        background-color: rgba(0, 110, 229, 242);
        color: rgba(229, 229, 229, 242);
    }

.btn-danger {
    border-color: var(--color-danger);
    background-color: var(--color-danger);
    color: #ffffff;
}

    .btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger.disabled, .btn-danger:disabled, .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active {
        border-color: rgba(198, 47, 62, 242);
        background-color: rgba(198, 47, 62, 242);
        color: rgba(229, 229, 229, 242);
    }

.btn-success {
    border-color: var(--color-success);
    background-color: var(--color-success);
    color: #ffffff;
}

    .btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success.disabled, .btn-success:disabled, .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active {
        border-color: rgba(36, 150, 62, 242);
        background-color: rgba(36, 150, 62, 242);
        color: rgba(229, 229, 229, 242);
    }

.btn-light {
    border-color: var(--color-bg-light);
    background-color: rgba(229, 229, 229, 242) !important;
    color: var(--bs-dark) !important;
}

    .btn-light:hover, .btn-light:focus, .btn-light.focus, .btn-light.disabled, .btn-light:disabled, .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active {
        border-color: rgba(223, 224, 225, 242);
        background-color: rgba(223, 224, 225, 242);
        color: rgba(29, 33, 36, 242);
    }

.btn-redondo {
    width: max-content;
    padding: 5px 12px 5px 12px !important;
}


/* END - buttons */

html[data-theme="dark"] .co-resumo-mobile-ver {
    color: #4ca3ff !important; 
}

html[data-theme="dark"] .card-body {
    background: var(--color-bg-light) !important;
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] .floating-wpp .floating-wpp-popup.active .floating-wpp-message{
    color: black;
}

html[data-theme="dark"] .nome_usuario, html[data-theme="dark"] .email_span, html[data-theme="dark"] .lbel25 label,
html[data-theme="dark"] .label-cbx, html[data-theme="dark"] .label-cbx:hover, html[data-theme="dark"]
.ui.checkbox input:focus ~ label {
    color: #e0e1e8;
}

html[data-theme="dark"] .ui.selection.visible.dropdown > .text:not(.default),
html[data-theme="dark"] .ui.dropdown .menu > .message:not(.ui), html[data-theme="dark"] .cor {
    font-weight: normal;
    color: #e0e1e8 !important;
}

html[data-theme="dark"] .texto-cinza {
    color: #BFBFBFDE !important;
}
/* BEGIN - seet alert */
.collapse_menu {
    background-color: var(--color-primary);
    color: #ffffff;
}

    .collapse_menu:hover, .collapse_menu:focus, .collapse_menu.focus, .collapse_menu.disabled, .collapse_menu:disabled, .collapse_menu:not(:disabled):not(.disabled):active, .collapse_menu:not(:disabled):not(.disabled).active {
        background-color: rgba(0, 110, 229, 242);
        color: rgba(229, 229, 229, 242);
    }

.swal2-confirm.swal2-styled {
    border: 2px solid green;
    background-color: green;
    color: #ffffff;
}

    .swal2-confirm.swal2-styled:hover, .swal2-confirm.swal2-styled:focus, .swal2-confirm.swal2-styled.focus, .swal2-confirm.swal2-styled.disabled, .swal2-confirm.swal2-styled:disabled, .swal2-confirm.swal2-styled:not(:disabled):not(.disabled):active, .swal2-confirm.swal2-styled:not(:disabled):not(.disabled).active {
        border: 2px solid #000;
        background-color: lightgreen;
        color: #000;
    }

.swal2-styled.swal2-cancel {
    background-color: !important;
    color: #ffffff;
}

    .swal2-styled.swal2-cancel:hover, .swal2-styled.swal2-cancel:focus, .swal2-styled.swal2-cancel.focus, .swal2-styled.swal2-cancel.disabled, .swal2-styled.swal2-cancel:disabled, .swal2-styled.swal2-cancel:not(:disabled):not(.disabled):active, .swal2-styled.swal2-cancel:not(:disabled):not(.disabled).active {
        background-color: rgba(36, 150, 62, 242);
        color: rgba(229, 229, 229, 242);
    }

.swal2-popup.swal2-toast {
    background: #fff;
}

.swal2-popup {
    width: 50em !important;
}

.swal2-html-container {
    text-align: left !important;
}

/* END - seet alert */

._1457s2 {
    margin: 0px -15px 0px 0px !important;
    padding: 10px 0px 10px 0px !important;
}

.spinner-app {
    border: 8px solid var(--color-spinner-track);
    border-left-color: darkcyan;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0;
    z-index: 9;
    position: absolute;
    top: 0;
    left: 0;
}

.cor {
    color: black;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.required-field {
    font-weight: bolder;
    color: red;
}

:focus-visible {
    outline: 2px solid var(--brand-primary);
    outline-offset: 2px;
}

button, input {
    overflow: visible;
}

button, input, optgroup, select, textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

.input-group > .form-control, .input-group > .form-control-plaintext {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0;
}

/* O Bootstrap 5 REMOVEU a classe .form-group (existia no BS3/BS4 com margin-bottom).
   As telas do admin/organizador ainda usam .form-group em massa para espaçar os campos,
   então sem esta regra os componentes ficam colados (espaçamento vertical some).
   Restaura o valor do Bootstrap 4 (1rem). Ver telas privadas de cadastro. */
.form-group {
    margin-bottom: 1rem;
}

*, :after, :before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

.view__img {
    width: 100%;
    float: left;
}

    .view__img img {
        width: 100%;
        border-radius: 7px;
    }

img {
    border-style: none;
    vertical-align: middle
}

.eye-style {
    margin-top: 14px;
    margin-right: 15px;
    position: absolute;
    right: 0;
    opacity: 0.5;
}

.box {
    background: #fff;
    width: 100%;
    float: left;
    padding: 30px;
    border-radius: 10px;
    border: 1px solid var(--color-border-light);
    transition: all .2s ease-in-out;
}

.small-box {
    border-radius: 0.25rem;
    box-shadow: 0 0 1px rgb(0 0 0 / 13%), 0 1px 3px rgb(0 0 0 / 20%);
    display: block;
    margin-bottom: 20px;
    position: relative;
}

    .small-box > .inner {
        padding: 10px;
    }

    .small-box .icon > i {
        font-size: 60px;
        position: absolute;
        right: 25px;
        top: 20px;
        transition: -webkit-transform .3s linear;
        transition: transform .3s linear;
        transition: transform .3s linear,-webkit-transform .3s linear;
    }

.main-p-pagination .pagination .page-link {
    margin-left: 2px;
}

.read-only {
    background-color: var(--color-bg-readonly) !important;
}

.ui.search .prompt, .ui.selection.dropdown.cntry152, .btn-redondo {
    border-radius: 7px !important;
}

.ui.selection.cntry152.dropdown.yy {
    width: 70%;
    min-width: unset !important;
}

.ui.selection.cntry152.dropdown.zz {
    width: 30%;
    min-width: unset !important;
}

nav.grid {
    display: inline;
}

.ck-reset_all :not(.ck-reset_all-excluded *), .ck.ck-reset_all {
    -moz-border-radius: 0px !important;
    -webkit-border-radius: 10px 10px 0 0 !important;
    border-radius: 10px 10px 0 0 !important;
}

.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
    -moz-border-radius: 0px !important;
    -webkit-border-radius: 0 0 10px 10px !important;
    border-radius: 0 0 10px 10px !important;
}

.table th, .table td {
    vertical-align: middle;
}

/* BEGIN - Signup Signin Page */

.main_logo25 {
    float: none;
    text-align: center;
    margin: auto !important;
    padding: 20px 0;
}

    .main_logo25 img {
        height: 70px !important;
    }

.sign_in_up_bg {
    background: var(--brand-gradient) !important;
    min-height: 100%;
    position: relative;
    width: 100%;
}

    .sign_in_up_bg:before {
        content: "";
        /*background: url(../../images/sign.svg) no-repeat center;*/
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        position: absolute;
        pointer-events: none;
        background-size: cover;
        opacity: 0.04;
    }

.sign_form {
    background: #fff;
    border-radius: 10px;
    padding: 50px 50px 30px;
    box-shadow: -0.083333333in 0.5pc 1.125pc -7px rgba(25,42,70,.13);
    flex: 1;
    float: left;
    width: 100%;
    margin-top: 0;
    text-align: center;
}

    .sign_form label.left, span.left {
        display: block;
        text-align: left;
    }

.ui.form.checkbox_sign {
    text-align: left;
}

.ui.checkbox.mncheck .box, .ui.checkbox.mncheck label {
    font-family: 'Roboto', sans-serif !important;
    color: #333;
    line-height: 20px;
}

.ui.checkbox.mncheck input:checked ~ .box:after, .ui.checkbox.mncheck input:checked ~ label:after {
    opacity: 1;
    color: var(--color-brand) !important;
    font-size: 10px !important;
    border-radius: 100%;
    margin-top: 0;
}

.ui.checkbox.mncheck .box:before, .ui.checkbox.mncheck label:before {
    border-radius: 100%;
    width: 18px !important;
    height: 18px !important;
    margin-top: 1px;
}

.login-btn {
    font-size: 14px;
    margin-top: 30px;
    font-weight: 400;
    font-family: 'Roboto', sans-serif;
    color: #fff;
    background: var(--brand-gradient);
    border-radius: 20px;
    text-align: center;
    border: 0;
    width: 100%;
    height: 40px;
}

    .login-btn:hover {
        color: #fff;
        background: #333;
    }

.sign_form h2 {
    font-size: 24px;
    margin-bottom: 17px;
    font-weight: 600;
    font-family: 'Roboto', sans-serif;
    color: #333;
    text-align: center;
}

.sign_form p {
    font-size: 14px;
    margin-bottom: 47px;
    font-weight: 400;
    font-family: 'Roboto', sans-serif;
    color: var(--color-text-secondary);
    text-align: center;
    line-height: 26px;
}

.sgntrm145 {
    padding: 30px 0 10px 0;
    margin-bottom: 0 !important;
}

.sign_footer {
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    color: #333;
    padding: 50px 0;
    display: block;
    float: left;
    width: 100%;
}

    .sign_footer img {
        margin-right: 10px;
    }

.sgntrm145 a {
    color: var(--color-brand);
}

    .sgntrm145 a:hover {
        color: #333 !important;
        text-decoration: underline !important;
    }

.ui.swdh95 {
    font-size: 14px !important;
    width: 100%;
}

.ui[class*="left icon"].swdh95.input > input {
    padding-left: 4.2em !important;
    padding-right: 1em !important;
    height: 40px;
    font-size: 14px;
    font-weight: 400;
    font-family: 'Roboto', sans-serif;
}

    .ui[class*="left icon"].swdh95.input > input:focus {
        padding-left: 4.2em !important;
        padding-right: 1em !important;
        height: 40px;
        font-size: 14px;
        font-weight: 400;
        font-family: 'Roboto', sans-serif;
    }

/* Mobiles */
@media (max-width: 412px) {
    .main_logo25 img {
        height: 50px !important;
        margin-top: 10px;
    }

    .sign_form {
        padding: 50px 20px;
    }

    .co-card #btn_avancar, .co-card #btn_pagar {
        padding: 16px;
    }
}

/* END - Signup Signin Page */

.st_title {
    margin-bottom: 2rem !important;
}

/* Mobiles */
@media (max-width: 412px) {
    .box {
        padding: 30px 0 0 0;
        margin-bottom: 0;
    }

    .st_title {
        margin-top: 0;
    }
}
/* Tablets */
@media(max-width: 576px) {
    .fs-1 {
        font-size: 2.5rem !important;
    }

    .fs-2 {
        font-size: 2rem !important;
    }

    .fs-3 {
        font-size: 1.75rem !important;
    }

    .fs-4 {
        font-size: 1.5rem !important;
    }

    .fs-5 {
        font-size: 1.15rem !important;
    }

    .fs-6 {
        font-size: 0.9rem !important;
    }

    .fs-7 {
        font-size: 0.75rem !important;
    }
}

@media(min-width: 576px) {
    .h2-sm {
        font-size: 2rem;
    }

    .fs-sm-1 {
        font-size: 2.5rem !important;
    }

    .fs-sm-2 {
        font-size: 2rem !important;
    }

    .fs-sm-3 {
        font-size: 1.75rem !important;
    }

    .fs-sm-4 {
        font-size: 1.5rem !important;
    }

    .fs-sm-5 {
        font-size: 1.15rem !important;
    }

    .fs-sm-6 {
        font-size: 0.9rem !important;
    }

    .fs-sm-7 {
        font-size: 0.75rem;
    }
}

@media(min-width:768px) {
    .fs-md-1 {
        font-size: 2.5rem !important;
    }

    .fs-md-2 {
        font-size: 2rem !important;
    }

    .fs-md-3 {
        font-size: 1.75rem !important;
    }

    .fs-md-4 {
        font-size: 1.5rem !important;
    }

    .fs-md-5 {
        font-size: 1.15rem !important;
    }

    .fs-md-6 {
        font-size: 0.9rem !important;
    }

    .fs-md-7 {
        font-size: 0.75rem;
    }

    .mw-md {
        max-width: auto;
    }
}

@media(min-width:992px) {
    .fs-lg-1 {
        font-size: 2.5rem !important;
    }

    .fs-lg-2 {
        font-size: 2rem !important;
    }

    .fs-lg-3 {
        font-size: 1.75rem !important;
    }

    .fs-lg-4 {
        font-size: 1.5rem !important;
    }

    .fs-lg-5 {
        font-size: 1.15rem !important;
    }

    .fs-lg-6 {
        font-size: 0.9rem !important;
    }

    .fs-lg-7 {
        font-size: 0.75rem;
    }
}

/* ── Botão de tema (claro / escuro) ─────────────────────── */

.btn-tema {
    background: none;
    border: none;
    color: var(--color-text-secondary);
    font-size: 1rem;
    padding: 6px 8px;
    cursor: pointer;
    opacity: .8;
    transition: opacity .15s;
    line-height: 1;
}

.btn-tema:hover { opacity: 1; }

/* ── Dark mode — override de tokens (área admin/organizador) ── */

html[data-theme="dark"] {
    --color-bg-body:               #12131a;
    --color-bg-input:              #23253a;
    --color-bg-light:              #1c1e2b;
    --color-bg-readonly:           #1a1c2b;
    --color-brand-bg:              #1c1e3a;
    --color-text:                  #e0e1e8;
    --color-text-alt:              #e0e1e8;
    --color-text-dark:             #f0f1f8;
    --color-text-secondary:        #9899a6;
    --color-text-muted:            #8f9099;  /* ~5.2:1 em #1c1e2b — AA */
    --color-white:                 #ffffff;
    --color-border:                #2e3048;
    --color-border-light:          #252740;
    --color-step-inactive:         #2a2d48;
    --color-step-inactive-border:  #3d4060;
    --color-step-line:             #3a3d58;
    --color-spinner-track:         #2e3048;
    --color-selection:             #1a3a60;
}

/* Componentes do template legado usam cor fixa (!important); os tokens acima
   não chegam a eles sozinhos — sobrescreve os elementos mais usados nas
   telas de cadastro/listagem (corpo da página, card branco, tabela, inputs
   e dropdowns do Semantic UI). */

html[data-theme="dark"] .ev-price-range strong {
    color: #8f9099;
}

html[data-theme="dark"] .btn-ev-buy {
    color: white;
}

html[data-theme="dark"] .btn-ev-buy:hover {
    transition: 0.5s ease;
    color: #09036bd6 !important;

}

html[data-theme="dark"] a.ui.active.label:hover{
    background-color: #12131a !important;
}

html[data-theme="dark"] .description, html[data-theme="dark"] .default {
    color: #e0e1e8;
}

html[data-theme="dark"] .total-geral, html[data-theme="dark"] .timeout{
    color: var(--color-accent-blue) !important;
}

html[data-theme="dark"] body {
    background: var(--color-bg-body) !important;
    color: var(--color-text) !important;
}

html[data-theme="dark"] .navbar-custom .dropdown .dropdown-menu {
    background: #2e3048;
}

html[data-theme="dark"] .search{
    color: white !important;
}

html[data-theme="dark"] .ma-page {
    background-color: var(--color-bg-body) !important;
}

html[data-theme="dark"] .ma-card {
    background-color: var(--color-bg-light) !important;
}

html[data-theme="dark"] .mi-page  {
    background: var(--color-bg-body);
}

html[data-theme="dark"] .mi-card{
    background:var(--color-bg-light)
}

html[data-theme="dark"] .box,
html[data-theme="dark"] .caixa_painel {
    background: var(--color-bg-light) !important;
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] .table,
html[data-theme="dark"] table {
    color: var(--color-text) !important;
}

html[data-theme="dark"] .table th,
html[data-theme="dark"] .table td,
html[data-theme="dark"] table th,
html[data-theme="dark"] table td {
    background: var(--color-bg-light) !important;
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] .form-control,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select,
html[data-theme="dark"] .ui.input > input,
html[data-theme="dark"] .ui.selection.dropdown {
    background: var(--color-bg-input) !important;
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] .ui.selection.dropdown .menu,
html[data-theme="dark"] .ui.dropdown .menu {
    background: var(--color-bg-input) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] .ui.selection.dropdown .menu > .item,
html[data-theme="dark"] .ui.dropdown .menu > .item {
    color: var(--color-text) !important;
}

html[data-theme="dark"] .ui.selection.dropdown .menu > .item:hover,
html[data-theme="dark"] .ui.dropdown .menu > .item:hover {
    background: var(--color-bg-light) !important;
}

html[data-theme="dark"] .pagination .page-link {
    background: var(--color-bg-input) !important;
    color: var(--color-text) !important;
    border-color: var(--color-border) !important;
}

html[data-theme="dark"] ::placeholder {
    color: var(--color-text-muted) !important;
}

html[data-theme="dark"] .vertical_nav,
html[data-theme="dark"] .menu_left {
    background: var(--color-bg-light) !important;
}

html[data-theme="dark"] .menu--link,
html[data-theme="dark"] .menu--label,
html[data-theme="dark"] .menu--icon,
html[data-theme="dark"] .sub_menu--link {
    color: var(--color-text) !important;
}

html[data-theme="dark"] .sub_menu {
    background: var(--color-bg-body) !important;
}

html[data-theme="dark"] .table .fa,
html[data-theme="dark"] .table .uil,
html[data-theme="dark"] table .fa,
html[data-theme="dark"] table .uil,
html[data-theme="dark"] .table button,
html[data-theme="dark"] table button {
    color: white;
}

/* ── Menu lateral — hover/estado ativo ────────────────────────
   Substitui os hover hardcoded do template legado (cinza #bfbfbf,
   branco #fff, vermelho residual do tema original da compra) por um
   único tratamento consistente com a marca, que funciona em claro e
   escuro sem precisar de override por tema. Fica no fim do arquivo
   e usa o prefixo "html" de propósito: o override de cor do bloco
   dark mode acima (html[data-theme="dark"] .sub_menu--link) tem um
   seletor de tipo (html) que aumenta a especificidade — sem o mesmo
   prefixo aqui, aquela regra vence mesmo vindo antes no arquivo. */

html .menu--link:hover,
html .menu--link:hover .menu--label,
html .menu--item:hover .menu--label,
html .sub_menu--link:hover {
    background: var(--brand-gradient) !important;
    color: #fff !important;
}

html .menu--link:hover .menu--icon,
html .menu--item:hover .menu--icon {
    color: #fff !important;
}

html .menu--link.active {
    background: var(--brand-primary) !important;
    color: #fff !important;
}

html .menu--link.active .menu--icon {
    color: #fff !important;
}

html .sub_menu--link.active {
    background: rgba(var(--brand-primary-rgb), .12) !important;
    color: var(--brand-primary) !important;
    font-weight: 600;
}

html[data-theme="dark"] .sub_menu--link.active {
    background: rgba(var(--brand-primary-rgb), .35) !important;
    color: var(--color-text-dark) !important;
}

.menu--subitens__opened {
    background: var(--color-bg-light);
}

.sub_menu li:hover {
    background: transparent;
}

/* Calendário de Eventos — cor por status (aprovado/publicado/rascunho) */
.fc-event.evento-aprovado {
    background-color: #28a745;
    border-color: #28a745;
}

.fc-event.evento-publicado {
    background-color: #ffc107;
    border-color: #ffc107;
}

.fc-event.evento-rascunho {
    background-color: #6c757d;
    border-color: #6c757d;
}

/* Modelos de campos adicionais — box de cada pergunta do modelo (renderizado tanto pela View quanto por
   campo-adicional-template.js; classe compartilhada para não duplicar o mesmo estilo em dois lugares) */
.campo-adicional-template-item {
    border: 1px solid var(--color-border-light);
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 12px;
}
