:root {
    --bg: #ffffff;
    --fg: #212529;
    --muted: #6c757d;
    --card: #ffffff;
    --border: #e9ecef;
    --accent: #99cc33;
}

body.tema-escuro {
    --bg: #2c2c2c;
    --fg: #e9ecef;
    --muted: #adb5bd;
    --card: #2c2c2c;
    --border: #ffffff26;
    --accent: #9fda2f;
}

.checkout-wrapper {
    color: var(--fg);
}

body, .checkout-wrapper {
    background: var(--bg);
}

.checkout-topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: 0.75rem 0;
}

/* Cartão principal */
.conteudo-compra, .card, .alert, .table, .tabela-anexo {
    background: var(--card);
    color: var(--fg);
}

.card, .alert {
    border-color: var(--border) !important;
}

.navegacao-compra {
    background: var(--card);
    border: 1px solid var(--border);
}
.navegacao-compra .nav-link::before {
    background: var(--bg);
    border-color: var(--border);
}
.navegacao-compra .nav-item.concluido .nav-link::before {
    background: var(--accent);
}

/* Remover aparência de modal */
.modal-header { display: none !important; }
.modal-footer {
    border-top: 1px solid var(--border) !important;
    background: var(--bg) !important;
    position: sticky;
    bottom: 0;
    z-index: 10;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* Inputs */
input.form-control, select.form-select, textarea.form-control {
    background: var(--card);
    color: var(--fg);
    border-color: var(--border);
}
input.form-control::placeholder { color: var(--muted); }

/* Campos com erro de validação */
input.form-control.is-invalid, select.form-select.is-invalid, textarea.form-control.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Botões da topbar */
#toggle-tema, .checkout-topbar a.btn {
    border-color: var(--border);
    color: var(--fg);
}
#toggle-tema:hover, .checkout-topbar a.btn:hover { 
    background: var(--card);
    border-color: var(--accent);
    color: var(--accent);
}

/* Formulário de demonstração */
#demonstracaoForm .card {
    background: var(--card);
    border-color: var(--border);
    color: var(--fg);
}

/* Destaques */
.badge.bg-primary { background-color: var(--accent) !important; color: #122; }
.text-muted { color: var(--muted) !important; }


