/* QR Rapido Custom Theme */ :root { --qr-primary: #007BFF; --qr-secondary: #28A745; --qr-accent: #FF6B35; --qr-warning: #FFC107; --qr-success: #28A745; --qr-danger: #DC3545; --qr-dark: #343A40; --qr-light: #F8F9FA; } /* Global Styles */ body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; } .bg-gradient-primary { background: linear-gradient(135deg, var(--qr-primary) 0%, #0056B3 100%); } /* Generation Timer Styles */ .generation-timer { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.75rem; background: #f8f9fa; border-radius: 20px; border: 2px solid var(--qr-primary); transition: all 0.3s ease; } .generation-timer.active { background: var(--qr-primary); color: white; animation: pulse 1.5s infinite; } /* Speed Badge Animation */ .speed-badge { animation: slideInRight 0.5s ease-out; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } @keyframes slideInRight { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* QR Preview Placeholder - REMOVIDO: Substituído por versão com melhor contraste */ /* Logo and Branding */ .navbar-brand svg { filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.1)); transition: transform 0.3s ease; } .navbar-brand:hover svg { transform: scale(1.05); } /* QR Preview Image */ #qr-preview img { border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); transition: transform 0.3s ease; max-width: 100%; height: auto; } #qr-preview img:hover { transform: scale(1.02); } /* Card Hover Effects */ .card { transition: all 0.3s ease; border-radius: 12px; } .card:hover { box-shadow: 0 8px 25px rgba(0,0,0,0.1); transform: translateY(-2px); } /* Button Styles */ .btn-check:checked + .btn { background-color: var(--qr-primary); border-color: var(--qr-primary); color: white; } .btn-primary { background: linear-gradient(135deg, var(--qr-primary) 0%, #0056B3 100%); border: none; transition: all 0.3s ease; } .btn-primary:hover { background: linear-gradient(135deg, #0056B3 0%, var(--qr-primary) 100%); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3); } /* Form Controls */ .form-control:focus, .form-select:focus { border-color: var(--qr-primary); box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control-lg { border-radius: 8px; } /* Speed Statistics Cards */ .card.border-success { border-color: var(--qr-success) !important; } .card.border-primary { border-color: var(--qr-primary) !important; } .card.border-warning { border-color: var(--qr-warning) !important; } /* Generation Stats Animation */ .generation-stats { animation: slideInRight 0.5s ease-out; } /* Ad Container Styles - REMOVIDO: Substituído por versão com melhor contraste */ .ad-free-notice { text-align: center; border-left: 4px solid var(--qr-success); background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%); border-radius: 8px; } .ad-free-notice .fas { color: var(--qr-warning); } /* Loading Animations */ .spinner-border-sm { width: 1rem; height: 1rem; } /* Progress Bar for QR Generation */ .progress { height: 4px; border-radius: 2px; background-color: #e9ecef; } .progress-bar { background: linear-gradient(90deg, var(--qr-primary), var(--qr-accent)); } /* Speed Tips */ .list-unstyled li { padding: 0.25rem 0; transition: all 0.2s ease; } .list-unstyled li:hover { padding-left: 0.5rem; color: var(--qr-primary); } /* Responsive Design */ @media (max-width: 768px) { .generation-timer { font-size: 0.875rem; padding: 0.2rem 0.5rem; } .speed-badge .badge { font-size: 0.75rem; } .placeholder-qr { padding: 2rem 1rem; } .card-body { padding: 1rem; } .ad-container { margin: 10px 0; padding: 10px; } } /* Premium Features Styling */ .premium-feature { background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%); border-left: 4px solid var(--qr-warning); padding: 1rem; border-radius: 8px; margin: 1rem 0; } .premium-badge { background: linear-gradient(135deg, var(--qr-warning) 0%, #f39c12 100%); color: var(--qr-dark); border-radius: 20px; padding: 0.25rem 0.75rem; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } /* Accordion Customization */ .accordion-button { background: var(--qr-light); border: none; border-radius: 8px !important; } .accordion-button:not(.collapsed) { background: var(--qr-primary); color: white; } .accordion-button:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } /* Footer Styling */ footer { background: linear-gradient(135deg, var(--qr-dark) 0%, #2c3e50 100%); } footer a { text-decoration: none; transition: color 0.3s ease; } footer a:hover { color: var(--qr-primary) !important; } /* Language Selector */ .dropdown-toggle::after { margin-left: 0.5rem; } .dropdown-menu { border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); border: none; } .dropdown-item { transition: all 0.2s ease; border-radius: 4px; margin: 2px 4px; } .dropdown-item:hover { background: var(--qr-primary); color: white; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } ::-webkit-scrollbar-thumb { background: var(--qr-primary); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #0056b3; } /* ================================= THEME TOGGLE - BOTÃO ELEGANTE ================================= */ .theme-toggle-container { margin-left: 8px; } #theme-toggle { border-color: #6c757d !important; color: #6c757d !important; transition: all 0.3s ease; min-width: 42px; display: flex; align-items: center; justify-content: center; } #theme-toggle:hover { background-color: #007bff !important; border-color: #007bff !important; color: white !important; transform: translateY(-1px); } #theme-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } #theme-icon { font-size: 0.875rem; transition: transform 0.3s ease; } #theme-toggle:hover #theme-icon { transform: rotate(180deg); } /* Estados do tema */ [data-theme="light"] #theme-icon { color: #ffc107; /* Sol amarelo */ } [data-theme="dark"] #theme-icon { color: #17a2b8; /* Lua azul */ } /* Responsive - esconder texto em telas pequenas */ @media (max-width: 768px) { #theme-text { display: none !important; } .theme-toggle-container { margin-left: 4px; } } /* Utility Classes */ .text-gradient { background: linear-gradient(135deg, var(--qr-primary) 0%, var(--qr-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .shadow-custom { box-shadow: 0 8px 25px rgba(0, 123, 255, 0.15); } .border-gradient { border: 2px solid; border-image: linear-gradient(135deg, var(--qr-primary) 0%, var(--qr-accent) 100%) 1; } /* ================================= FLUXO ASCENDENTE - ESTADOS VISUAIS PROGRESSIVOS ================================= */ /* Estados desabilitados - cor e opacidade reduzida */ .qr-flow-disabled { opacity: 0.6 !important; pointer-events: none !important; transition: all 0.3s ease !important; } .qr-flow-disabled .form-control, .qr-flow-disabled .form-select { background-color: #f5f5f5 !important; border-color: #e0e0e0 !important; color: #999999 !important; cursor: not-allowed !important; } .qr-flow-disabled .form-label { color: #999999 !important; } .qr-flow-disabled .btn-group .btn { background-color: #f5f5f5 !important; border-color: #e0e0e0 !important; color: #999999 !important; cursor: not-allowed !important; } /* Estados habilitados - transição suave */ .qr-flow-enabled { opacity: 1 !important; pointer-events: auto !important; transition: all 0.3s ease !important; } .qr-flow-enabled .form-control, .qr-flow-enabled .form-select { background-color: #ffffff !important; border-color: #ced4da !important; color: #495057 !important; cursor: auto !important; } .qr-flow-enabled .form-label { color: #212529 !important; } .qr-flow-enabled .btn-group .btn { background-color: #ffffff !important; border-color: #6c757d !important; color: #6c757d !important; cursor: pointer !important; } /* Estados para o tema escuro */ html[data-theme="dark"] .qr-flow-disabled .form-control, html[data-theme="dark"] .qr-flow-disabled .form-select { background-color: #3a3a3a !important; border-color: #555555 !important; color: #777777 !important; } html[data-theme="dark"] .qr-flow-disabled .form-label { color: #777777 !important; } html[data-theme="dark"] .qr-flow-disabled .btn-group .btn { background-color: #3a3a3a !important; border-color: #555555 !important; color: #777777 !important; } html[data-theme="dark"] .qr-flow-enabled .form-control, html[data-theme="dark"] .qr-flow-enabled .form-select { background-color: #4a5568 !important; border-color: #718096 !important; color: #e2e8f0 !important; } html[data-theme="dark"] .qr-flow-enabled .form-label { color: #e2e8f0 !important; } html[data-theme="dark"] .qr-flow-enabled .btn-group .btn { background-color: #4a5568 !important; border-color: #718096 !important; color: #e2e8f0 !important; } /* Animação de ascensão */ @keyframes ascend { from { opacity: 0.6; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .qr-flow-ascending { animation: ascend 0.4s ease-out forwards !important; } /* Botão de geração - estado oculto inicial */ #generate-button-container { transition: all 0.4s ease !important; transform: translateY(20px); opacity: 0; } #generate-button-container.show { display: block !important; transform: translateY(0); opacity: 1; animation: ascend 0.4s ease-out forwards; } /* ================================= DESTAQUE ELEGANTE PARA CAMPO INICIAL ================================= */ /* Animação pulsante elegante */ @keyframes pulseHighlight { 0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7); border-color: #3B82F6; } 70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); border-color: #3B82F6; } 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); border-color: #3B82F6; } } /* Classe para destacar campo inicial */ .qr-field-highlight { border: 2px solid #3B82F6 !important; box-shadow: 0 0 5px rgba(59, 130, 246, 0.3) !important; transition: all 0.3s ease !important; } /* Remover destaque suavemente */ .qr-field-highlight.removing { animation: none !important; border-color: #ced4da !important; box-shadow: none !important; } /* Ícone de seta animado */ @keyframes chevronBounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-3px); } 60% { transform: translateY(-1px); } } .chevron-animated { animation: chevronBounce 2s infinite; color: #3B82F6; margin-left: 8px; font-size: 0.875rem; } /* Tooltip para campos bloqueados */ .blocked-field-tooltip { position: relative; } .blocked-field-tooltip::after { content: "Selecione primeiro o Tipo de QR Code"; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: rgba(33, 37, 41, 0.9); color: white; padding: 8px 12px; border-radius: 6px; font-size: 0.75rem; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 1000; margin-bottom: 5px; } .blocked-field-tooltip::before { content: ""; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: rgba(33, 37, 41, 0.9); margin-bottom: -5px; opacity: 0; transition: opacity 0.3s ease; } .blocked-field-tooltip:hover::after, .blocked-field-tooltip:hover::before { opacity: 1; } /* Botão de ajuda flutuante */ .help-button-floating { position: fixed; top: 20px; right: 20px; z-index: 1050; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, #3B82F6, #6366F1); border: none; color: white; font-size: 1.25rem; box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4); transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; } .help-button-floating:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(59, 130, 246, 0.6); background: linear-gradient(135deg, #2563EB, #4F46E5); } .help-button-floating:active { transform: translateY(0); } /* Seta apontando para o select */ .pointer-arrow { position: absolute; width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-bottom: 20px solid #3B82F6; top: -25px; left: 50%; transform: translateX(-50%); animation: arrowBounce 1.5s ease-in-out infinite; } @keyframes arrowBounce { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-5px); } } /* Toasts customizados */ .toast-onboarding { background: linear-gradient(135deg, #3B82F6, #6366F1); color: white; border: none; box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3); border-radius: 12px; overflow: hidden; } .toast-onboarding .toast-header { background: rgba(255, 255, 255, 0.1); border-bottom: 1px solid rgba(255, 255, 255, 0.2); color: white; } .toast-onboarding .toast-body { font-weight: 500; line-height: 1.5; } .toast-onboarding .btn-close { filter: invert(1); opacity: 0.8; } .toast-onboarding .btn-close:hover { opacity: 1; } /* Container de toasts personalizado */ .toast-container-onboarding { position: fixed; bottom: 20px; right: 20px; z-index: 1055; max-width: 350px; } /* Tema escuro - ajustes para destaque */ html[data-theme="dark"] .qr-field-highlight { border-color: #60A5FA !important; box-shadow: 0 0 5px rgba(96, 165, 250, 0.3) !important; } html[data-theme="dark"] .chevron-animated { color: #60A5FA; } html[data-theme="dark"] .blocked-field-tooltip::after { background: rgba(248, 250, 252, 0.95); color: #1f2937; } html[data-theme="dark"] .blocked-field-tooltip::before { border-top-color: rgba(248, 250, 252, 0.95); } /* Print Styles */ @media print { .ad-container, .btn, .navbar, footer { display: none !important; } #qr-preview img { max-width: 300px; max-height: 300px; } } /* ================================= CORREÇÕES CRÍTICAS DE CONTRASTE E VISIBILIDADE QR Rapido - Acessibilidade WCAG 2.1 AA ================================= */ /* ================================= DICAS PARA QR MAIS RÁPIDOS - CORREÇÃO CRÍTICA ================================= */ .card.bg-light { background-color: #ffffff !important; border: 1px solid #dee2e6 !important; box-shadow: 0 2px 4px rgba(0,0,0,0.08); } .card.bg-light .card-header { background-color: #f8f9fb !important; color: #212529 !important; border-bottom: 1px solid #dee2e6; font-weight: 600; } .card.bg-light .card-body { background-color: #ffffff !important; color: #212529 !important; } .card.bg-light .text-muted { color: #495057 !important; /* Mais escuro para melhor contraste */ } /* ================================= CONTENT HINTS - VISIBILIDADE GARANTIDA ================================= */ #content-hints, .form-text { color: #495057 !important; font-weight: 500; background: rgba(0, 123, 255, 0.05); padding: 6px 12px; border-radius: 4px; border-left: 3px solid #007bff; font-size: 0.875rem; margin-top: 4px; display: block !important; } /* ================================= TEXT MUTED - CONTRASTE GLOBAL ================================= */ .text-muted { color: #495057 !important; /* Mais escuro que o padrão Bootstrap */ } /* ================================= CARDS DE ESTATÍSTICAS - VISIBILIDADE ================================= */ .card.border-success, .card.border-primary, .card.border-warning { background: #ffffff; border-width: 2px !important; box-shadow: 0 4px 6px rgba(0,0,0,0.08); } .card.border-success .card-body { background: linear-gradient(145deg, #ffffff 0%, #f0fff4 100%); } .card.border-primary .card-body { background: linear-gradient(145deg, #ffffff 0%, #eff6ff 100%); } .card.border-warning .card-body { background: linear-gradient(145deg, #ffffff 0%, #fffbeb 100%); } .card .text-success, .card .text-primary, .card .text-warning { font-weight: 700 !important; } /* ================================= AD CONTAINERS - NUNCA INVISÍVEL ================================= */ .ad-container { background: #ffffff !important; border: 1px solid #dee2e6 !important; padding: 15px; text-align: center; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); margin: 20px 0; position: relative; } .ad-label { color: #495057 !important; font-size: 0.75rem; text-transform: uppercase; font-weight: 600; letter-spacing: 0.5px; margin-bottom: 8px; } /* ================================= PLACEHOLDER QR - CONTRASTE SUPERIOR ================================= */ .placeholder-qr { border: 2px dashed #007bff !important; background: #f8f9fb !important; padding: 40px 20px; text-align: center; border-radius: 8px; transition: all 0.3s ease; } .placeholder-qr:hover { border-color: #0056b3; background: #e7f3ff; } .placeholder-qr .text-muted { color: #495057 !important; } /* ================================= BOTÕES - MANTENDO IDENTIDADE AZUL ================================= */ .btn-primary { background-color: #007bff !important; border-color: #007bff !important; font-weight: 600; } .btn-primary:hover { background-color: #0056b3 !important; border-color: #0056b3 !important; } .btn-outline-primary { color: #007bff !important; border-color: #007bff !important; font-weight: 600; } .btn-outline-primary:hover { background-color: #007bff !important; border-color: #007bff !important; color: #ffffff !important; } /* ================================= THEME SYSTEM - BASEADO EM DATA-THEME Tema escuro ativado via data-theme="dark" OU preferência do sistema ================================= */ html[data-theme="dark"] { /* Base cards */ .card { background-color: #2d3748 !important; color: #e2e8f0 !important; border-color: #4a5568 !important; } /* Card Dicas para QR Mais Rápidos */ .card.bg-light { background-color: #2d3748 !important; border-color: #4a5568 !important; color: #e2e8f0 !important; } .card.bg-light .card-header { background-color: #4a5568 !important; color: #e2e8f0 !important; border-bottom-color: #718096; } .card.bg-light .card-body { background-color: #2d3748 !important; color: #e2e8f0 !important; } .card.bg-light .text-muted { color: #cbd5e0 !important; } .card.bg-light .list-unstyled li { color: #e2e8f0 !important; } /* Content Hints - Dark Mode */ #content-hints, .form-text { color: #e2e8f0 !important; background: rgba(66, 153, 225, 0.15); border-left-color: #4dabf7; } /* Text Muted - Dark Mode */ .text-muted { color: #cbd5e0 !important; } .small.text-muted, small.text-muted { color: #a0aec0 !important; } /* Cards Estatísticas - Dark Mode */ .card.border-success, .card.border-primary, .card.border-warning { background-color: #2d3748 !important; border-color: inherit !important; color: #e2e8f0 !important; } .card.border-success .card-body, .card.border-primary .card-body, .card.border-warning .card-body { background: #2d3748 !important; color: #e2e8f0 !important; } .card.border-success { border-color: #48bb78 !important; } .card.border-primary { border-color: #4dabf7 !important; } .card.border-warning { border-color: #ed8936 !important; } /* Ad Containers - Dark Mode */ .ad-container { background: #2d3748 !important; border-color: #4a5568 !important; color: #e2e8f0 !important; } .ad-label { color: #cbd5e0 !important; } /* Placeholder QR - Dark Mode */ .placeholder-qr { background: #4a5568 !important; border-color: #4dabf7 !important; color: #e2e8f0 !important; } .placeholder-qr:hover { background: #2d3748; border-color: #63b3ed; } .placeholder-qr .text-muted { color: #cbd5e0 !important; } /* Form Controls - Dark Mode Completo */ .form-control, .form-select { background-color: #4a5568 !important; border-color: #718096 !important; color: #e2e8f0 !important; } .form-control:focus, .form-select:focus { background-color: #4a5568 !important; border-color: #4dabf7 !important; box-shadow: 0 0 0 0.2rem rgba(77, 171, 247, 0.25) !important; color: #e2e8f0 !important; } .form-control::placeholder { color: #a0aec0 !important; opacity: 1; } .form-label { color: #e2e8f0 !important; font-weight: 600; } /* Botões - Dark Mode */ .btn-primary { background-color: #4dabf7 !important; border-color: #4dabf7 !important; } .btn-primary:hover { background-color: #3182ce !important; border-color: #3182ce !important; } /* Body e elementos base */ body { background-color: #1a202c !important; color: #e2e8f0 !important; } /* Navbar dark mode */ .navbar-light { background-color: #2d3748 !important; border-bottom-color: #4a5568 !important; } .navbar-light .navbar-brand { color: #e2e8f0 !important; } /* Dropdown menus escuro */ .btn-outline-secondary { background-color: #4a5568 !important; border-color: #718096 !important; color: #e2e8f0 !important; } .btn-outline-secondary:hover { background-color: #4dabf7 !important; border-color: #4dabf7 !important; color: #ffffff !important; } /* Links e textos diversos */ a { color: #4dabf7 !important; } a:hover { color: #63b3ed !important; } /* Premium features */ .premium-feature { background: linear-gradient(135deg, #4a5568 0%, #2d3748 100%); border-left-color: #ed8936; color: #e2e8f0; } /* Accordion */ .accordion-button { background: #4a5568 !important; color: #e2e8f0 !important; } .accordion-button:not(.collapsed) { background: #4dabf7 !important; color: #ffffff !important; } /* Dropdown menus */ .dropdown-menu { background-color: #2d3748 !important; border-color: #4a5568 !important; } .dropdown-item { color: #e2e8f0 !important; } .dropdown-item:hover { background-color: #4dabf7 !important; color: #ffffff !important; } /* Correções adicionais para elementos específicos */ .small { color: #a0aec0 !important; } .badge { background-color: #4a5568 !important; color: #e2e8f0 !important; } .badge.bg-success { background-color: #48bb78 !important; color: #ffffff !important; } .badge.bg-primary { background-color: #4dabf7 !important; color: #ffffff !important; } .badge.bg-warning { background-color: #ed8936 !important; color: #ffffff !important; } /* Alerts */ .alert { background-color: #4a5568 !important; border-color: #718096 !important; color: #e2e8f0 !important; } .alert-success { background-color: #2f855a !important; border-color: #48bb78 !important; color: #ffffff !important; } .alert-info { background-color: #2b6cb0 !important; border-color: #4dabf7 !important; color: #ffffff !important; } .alert-warning { background-color: #c05621 !important; border-color: #ed8936 !important; color: #ffffff !important; } /* Tables */ .table { background-color: #2d3748 !important; color: #e2e8f0 !important; } .table th, .table td { border-color: #4a5568 !important; color: #e2e8f0 !important; } .table-hover tbody tr:hover { background-color: #4a5568 !important; } /* List groups */ .list-group-item { background-color: #2d3748 !important; border-color: #4a5568 !important; color: #e2e8f0 !important; } /* Progress bars */ .progress { background-color: #4a5568 !important; } /* Footer */ footer { background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%) !important; color: #e2e8f0 !important; } footer a { color: #4dabf7 !important; } footer a:hover { color: #63b3ed !important; } /* Hero section */ .bg-gradient-primary { background: linear-gradient(135deg, #4dabf7 0%, #3182ce 100%) !important; } /* Generation timer e speed badge */ .generation-timer { background: #4a5568 !important; border-color: #4dabf7 !important; color: #e2e8f0 !important; } .generation-timer.active { background: #4dabf7 !important; color: #ffffff !important; } } /* ================================= TEMA CLARO EXPLÍCITO Forçar tema claro mesmo se o sistema estiver escuro ================================= */ html[data-theme="light"] { /* Body e elementos base */ body { background-color: #ffffff !important; color: #212529 !important; } /* Cards */ .card { background-color: #ffffff !important; color: #212529 !important; border-color: #dee2e6 !important; } .card.bg-light { background-color: #ffffff !important; border-color: #dee2e6 !important; color: #212529 !important; } .card.bg-light .card-header { background-color: #f8f9fb !important; color: #212529 !important; border-bottom-color: #dee2e6; } .card.bg-light .card-body { background-color: #ffffff !important; color: #212529 !important; } .card.bg-light .text-muted { color: #495057 !important; } /* Text muted */ .text-muted { color: #495057 !important; } .small.text-muted, small.text-muted { color: #6c757d !important; } /* Content hints */ #content-hints, .form-text { color: #495057 !important; background: rgba(0, 123, 255, 0.05); border-left-color: #007bff; } /* Form controls */ .form-control, .form-select { background-color: #ffffff !important; border-color: #ced4da !important; color: #495057 !important; } .form-control:focus, .form-select:focus { border-color: #007bff !important; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important; color: #495057 !important; } .form-control::placeholder { color: #6c757d !important; opacity: 1; } .form-label { color: #212529 !important; font-weight: 600; } /* Cards de estatísticas */ .card.border-success, .card.border-primary, .card.border-warning { background-color: #ffffff !important; color: #212529 !important; } .card.border-success .card-body, .card.border-primary .card-body, .card.border-warning .card-body { background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%) !important; color: #212529 !important; } /* Ad containers */ .ad-container { background: #ffffff !important; border-color: #dee2e6 !important; color: #212529 !important; } .ad-label { color: #495057 !important; } /* Placeholder QR */ .placeholder-qr { background: #f8f9fb !important; border-color: #007bff !important; color: #212529 !important; } .placeholder-qr:hover { background: #e7f3ff !important; border-color: #0056b3 !important; } .placeholder-qr .text-muted { color: #495057 !important; } /* Navbar */ .navbar-light { background-color: #ffffff !important; border-bottom-color: #dee2e6 !important; } .navbar-light .navbar-brand { color: #212529 !important; } /* Hero section */ .bg-gradient-primary { background: linear-gradient(135deg, #007BFF 0%, #0056B3 100%) !important; } /* Links */ a { color: #007bff !important; } a:hover { color: #0056b3 !important; } /* Botões */ .btn-primary { background-color: #007bff !important; border-color: #007bff !important; } .btn-primary:hover { background-color: #0056b3 !important; border-color: #0056b3 !important; } /* Generation timer */ .generation-timer { background: #f8f9fa !important; border-color: #007bff !important; color: #212529 !important; } .generation-timer.active { background: #007bff !important; color: #ffffff !important; } /* Footer */ footer { background: linear-gradient(135deg, #343A40 0%, #2c3e50 100%) !important; color: #ffffff !important; } footer a { color: #007bff !important; } footer a:hover { color: #0056b3 !important; } }