/* Variáveis globais */ :root { --table-header-bg: #d8dde2; --table-hover-bg: rgba(0, 0, 0, 0.02); --border-color: #dee2e6; --blue: #0d6efd; --green: #198754; --cyan: #0dcaf0; --yellow: #ffc107; } /* Tabelas */ .table-container { background: #fff; border-radius: 0.5rem; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); margin-bottom: 1.5rem; } .table { margin-bottom: 0; } .table thead { background-color: var(--table-header-bg) !important; } .table thead th { border-bottom: none; font-weight: 600; padding: 1rem; white-space: nowrap; } .table tbody td { padding: 1rem; vertical-align: middle; } .table-hover tbody tr:hover { background-color: var(--table-hover-bg); } /* Botões de ação */ .btn-group-actions { display: flex; gap: 0.5rem; justify-content: flex-end; } .btn-group-actions .btn { padding: 0.375rem 0.75rem; font-size: 0.875rem; } /* Botões padrão */ .btn-outline-primary { color: #0d6efd; border-color: #0d6efd; background-color: transparent; } .btn-outline-primary:hover { color: #fff; background-color: #0d6efd; border-color: #0d6efd; } /* Cabeçalho de listagem */ .list-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; } .list-title { font-size: 1.5rem; font-weight: 600; margin: 0; display: flex; align-items: center; gap: 0.5rem; } .list-actions { display: flex; gap: 0.5rem; } /* Barra de pesquisa e filtros */ .search-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; gap: 1rem; } .search-input-group { flex: 1; max-width: 500px; } .search-input-group .input-group-text { background-color: #f8f9fa; border-right: none; } .search-input-group .form-control { border-left: none; } .search-input-group .form-control:focus { box-shadow: none; border-color: #dee2e6; } /* Badges */ .badge { padding: 0.5em 0.75em; font-weight: 500; } .badge.bg-success { background-color: #198754 !important; } .badge.bg-secondary { background-color: #6c757d !important; } /* Paginação */ .pagination-container { display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-top: 1px solid var(--border-color); } .pagination { margin: 0; } .page-link { padding: 0.375rem 0.75rem; } /* Responsividade */ @media (max-width: 768px) { .search-bar { flex-direction: column; align-items: stretch; } .search-input-group { max-width: 100%; } .list-actions { flex-wrap: wrap; } .btn-group-actions { justify-content: center; } } /* Cards do Dashboard */ .stats-card { position: relative; padding: 1.5rem; border-radius: 0.5rem; background: #fff; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); overflow: hidden; height: 100%; } .stats-card .title { font-size: 0.875rem; color: #6c757d; margin-bottom: 0.5rem; } .stats-card .value { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; } .stats-card .link { color: inherit; text-decoration: none; font-size: 0.875rem; display: flex; align-items: center; gap: 0.5rem; } .stats-card .icon { position: absolute; top: 1rem; right: 1rem; font-size: 1.5rem; opacity: 0.2; } .stats-card.blue { background: linear-gradient(135deg, var(--blue) 0%, #0a58ca 100%); color: #fff; } .stats-card.green { background: linear-gradient(135deg, var(--green) 0%, #146c43 100%); color: #fff; } .stats-card.cyan { background: linear-gradient(135deg, var(--cyan) 0%, #0aa2c0 100%); color: #fff; } .stats-card.yellow { background: linear-gradient(135deg, var(--yellow) 0%, #cc9a06 100%); color: #fff; } /* Welcome Header */ .welcome-header { margin-bottom: 2rem; } .welcome-header h2 { font-size: 2rem; font-weight: 600; margin-bottom: 0.5rem; } .welcome-header h4 { font-size: 1.25rem; font-weight: 400; }