/* Cards */
.content-wrapper .card {
    background: var(--color-surface);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    color: var(--color-text-secondary);
}

.content-wrapper .card-header {
    background: var(--color-border-light);
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
    font-weight: var(--font-weight-semibold);
}

.content-wrapper .card-body {
    color: var(--color-text-secondary);
}

.content-wrapper .card-footer {
    background: var(--color-border-light);
    border-top: 1px solid var(--color-border);
}

/* Tables */
.content-wrapper .table {
    color: var(--color-text-secondary);
    --bs-table-bg: transparent;
    --bs-table-color: var(--color-text-secondary);
    --bs-table-border-color: var(--color-border);
}

.content-wrapper .table thead th {
    background: var(--color-border-light);
    color: var(--color-text);
    font-weight: var(--font-weight-semibold);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--color-border);
}

.content-wrapper .table tbody tr:hover {
    background: var(--color-accent-soft);
}

.content-wrapper .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(241, 245, 249, 0.6);
    color: var(--color-text-secondary);
}

/* Forms */
.content-wrapper .form-control,
.content-wrapper .form-select,
.content-wrapper .input-group-text {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    border-radius: var(--radius-sm);
}

.content-wrapper .form-control:focus,
.content-wrapper .form-select:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
    background: var(--color-surface);
    color: var(--color-text);
}

.content-wrapper .form-control::placeholder {
    color: var(--color-muted);
}

.content-wrapper .form-label {
    color: var(--color-text);
    font-weight: var(--font-weight-medium);
}

.content-wrapper .form-check-label {
    color: var(--color-text-secondary);
}

/* Buttons */
.content-wrapper .btn-primary {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.content-wrapper .btn-primary:hover,
.content-wrapper .btn-primary:focus {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    color: #fff;
}

.content-wrapper .btn-outline-primary {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

.content-wrapper .btn-outline-primary:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.content-wrapper .btn-success {
    background: var(--color-success);
    border-color: var(--color-success);
}

.content-wrapper .btn-warning {
    background: var(--color-warning);
    border-color: var(--color-warning);
    color: #fff;
}

.content-wrapper .btn-danger {
    background: var(--color-danger);
    border-color: var(--color-danger);
}

.content-wrapper .btn-secondary {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text-secondary);
}

.content-wrapper .btn-secondary:hover {
    background: var(--color-bg);
    color: var(--color-text);
}

/* Badges Bootstrap */
.content-wrapper .badge.bg-primary,
.content-wrapper .badge.bg-info {
    background: var(--color-accent) !important;
    color: #fff !important;
}

.content-wrapper .badge.bg-success {
    background: var(--color-success) !important;
}

.content-wrapper .badge.bg-warning {
    background: var(--color-warning) !important;
    color: #fff !important;
}

.content-wrapper .badge.bg-danger {
    background: var(--color-danger) !important;
}

.content-wrapper .badge.bg-secondary {
    background: #64748b !important;
    color: #fff !important;
}

/* Alerts */
.content-wrapper .alert {
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
}

.content-wrapper .alert-success {
    background: var(--color-success-bg);
    border-color: var(--color-success-border);
    color: #065f46;
}

.content-wrapper .alert-danger,
.content-wrapper .alert-error {
    background: var(--color-danger-bg);
    border-color: var(--color-danger-border);
    color: #991b1b;
}

.content-wrapper .alert-warning {
    background: var(--color-warning-bg);
    border-color: var(--color-warning-border);
    color: #92400e;
}

.content-wrapper .alert-info {
    background: var(--color-info-bg);
    border-color: var(--color-info-border);
    color: #075985;
}

/* List groups */
.content-wrapper .list-group-item {
    background: var(--color-surface);
    border-color: var(--color-border);
    color: var(--color-text-secondary);
}

.content-wrapper .list-group-item-action:hover {
    background: var(--color-border-light);
    color: var(--color-text);
}

/* Modals */
.content-wrapper .modal-content {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text-secondary);
}

.content-wrapper .modal-header {
    border-bottom-color: var(--color-border);
}

.content-wrapper .modal-footer {
    border-top-color: var(--color-border);
}

.content-wrapper .modal-title {
    color: var(--color-text);
}

/* Nav tabs */
.content-wrapper .nav-tabs {
    border-bottom-color: var(--color-border);
}

.content-wrapper .nav-tabs .nav-link {
    color: var(--color-muted);
    border-color: transparent;
}

.content-wrapper .nav-tabs .nav-link:hover {
    color: var(--color-text);
    border-color: var(--color-border) var(--color-border) transparent;
}

.content-wrapper .nav-tabs .nav-link.active {
    color: var(--color-accent);
    background: var(--color-surface);
    border-color: var(--color-border) var(--color-border) var(--color-surface);
}

/* Dropdowns */
.content-wrapper .dropdown-menu {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
}

.content-wrapper .dropdown-item {
    color: var(--color-text-secondary);
}

.content-wrapper .dropdown-item:hover,
.content-wrapper .dropdown-item:focus {
    background: var(--color-border-light);
    color: var(--color-text);
}

/* Pagination */
.content-wrapper .page-link {
    color: var(--color-accent);
    background: var(--color-surface);
    border-color: var(--color-border);
}

.content-wrapper .page-item.active .page-link {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

/* KPI cards */
.content-wrapper .kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.content-wrapper .kpi-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    padding: var(--space-5);
    box-shadow: var(--shadow-sm);
}

.content-wrapper .kpi-value {
    color: var(--color-text);
    font-weight: var(--font-weight-bold);
}

.content-wrapper .kpi-label {
    color: var(--color-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
}

/* Timeline / histórico */
.content-wrapper .timeline-item,
.content-wrapper .historico-item {
    border-left: 3px solid var(--color-accent);
    padding-left: var(--space-4);
    margin-bottom: var(--space-4);
}

/* Page header */
.content-wrapper .page-header {
    background: var(--color-surface);
    padding: var(--space-6);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    margin-bottom: var(--space-6);
    border: 1px solid var(--color-border-light);
}

/* Orcamento campo tema — unificado com forms */
.content-wrapper .orcamento-campo-tema,
.content-wrapper .form-orcamento-novo .orcamento-campo-tema {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.content-wrapper .orcamento-campo-tema:focus,
.content-wrapper .form-orcamento-novo .orcamento-campo-tema:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px var(--color-accent-ring);
}

.content-wrapper .orcamento-campo-tema::placeholder {
    color: var(--color-muted);
}

.content-wrapper .orcamento-versoes-table thead th {
    background: var(--color-accent-soft);
    color: var(--color-accent);
}

.content-wrapper .badge-versao-atual {
    background: var(--color-accent);
    color: #fff;
}

/* Select2 */
.content-wrapper .select2-container--default .select2-selection--single,
.content-wrapper .select2-container--default .select2-selection--multiple {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    min-height: 38px;
}

.content-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--color-text);
    line-height: 36px;
}

.content-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.content-wrapper .select2-dropdown {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
}

.content-wrapper .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--color-accent);
    color: #fff;
}

.content-wrapper .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

/* Flatpickr */
.content-wrapper .flatpickr-input,
.content-wrapper input.flatpickr-input {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text);
}

.content-wrapper .flatpickr-calendar {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
}

.content-wrapper .flatpickr-day.selected {
    background: var(--color-accent);
    border-color: var(--color-accent);
}

.content-wrapper .flatpickr-day:hover {
    background: var(--color-accent-soft);
}

/* Toggle button mobile */
.toggle-btn {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 1061;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.75rem;
    box-shadow: var(--shadow-md);
}

@media (min-width: 1200px) {
    .toggle-btn.d-xl-none,
    .toggle-btn.d-lg-none {
        display: none !important;
    }
}
