Spaces:
Sleeping
Sleeping
| # CSS Profissional | |
| CUSTOM_CSS = """ | |
| /* Importar fontes profissionais do Google Fonts */ | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); | |
| /* Aplicar fonte Inter em todo o app */ | |
| * { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; | |
| } | |
| /* Fonte monospace para código */ | |
| code, pre, .message code { | |
| font-family: 'JetBrains Mono', 'Courier New', monospace !important; | |
| } | |
| /* Header principal */ | |
| .gradio-container h1 { | |
| font-size: 2.5rem !important; | |
| font-weight: 700 !important; | |
| background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| margin-bottom: 1rem !important; | |
| letter-spacing: -0.02em; | |
| } | |
| /* Subtítulos */ | |
| .gradio-container h3 { | |
| font-size: 1.25rem !important; | |
| font-weight: 600 !important; | |
| color: #1e293b; | |
| margin-bottom: 1rem !important; | |
| } | |
| /* Descrições */ | |
| .gradio-container p { | |
| font-size: 1rem !important; | |
| color: #475569; | |
| line-height: 1.6; | |
| } | |
| /* Tabs - Estilo profissional */ | |
| .tabs button { | |
| font-size: 1rem !important; | |
| font-weight: 600 !important; | |
| padding: 0.75rem 1.5rem !important; | |
| border-radius: 0.5rem 0.5rem 0 0 !important; | |
| transition: all 0.2s ease !important; | |
| } | |
| .tabs button[aria-selected="true"] { | |
| background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important; | |
| color: white !important; | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; | |
| } | |
| .tabs button:not([aria-selected="true"]) { | |
| background: #f1f5f9 !important; | |
| color: #64748b !important; | |
| } | |
| .tabs button:hover:not([aria-selected="true"]) { | |
| background: #e2e8f0 !important; | |
| color: #334155 !important; | |
| } | |
| /* Botões principais */ | |
| button[variant="primary"] { | |
| background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important; | |
| border: none !important; | |
| font-weight: 600 !important; | |
| font-size: 1rem !important; | |
| padding: 0.75rem 1.5rem !important; | |
| border-radius: 0.5rem !important; | |
| box-shadow: 0 4px 6px -1px rgba(59, 130, 246, 0.3) !important; | |
| transition: all 0.3s ease !important; | |
| } | |
| button[variant="primary"]:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.4) !important; | |
| } | |
| /* Botões secundários */ | |
| button[variant="secondary"] { | |
| background: #f8fafc !important; | |
| border: 2px solid #cbd5e1 !important; | |
| color: #475569 !important; | |
| font-weight: 500 !important; | |
| border-radius: 0.5rem !important; | |
| transition: all 0.2s ease !important; | |
| } | |
| button[variant="secondary"]:hover { | |
| background: #e2e8f0 !important; | |
| border-color: #94a3b8 !important; | |
| } | |
| /* Chatbot - Design limpo e profissional */ | |
| .message-wrap { | |
| padding: 1rem !important; | |
| margin: 0.5rem 0 !important; | |
| border-radius: 0.75rem !important; | |
| font-size: 1rem !important; | |
| line-height: 1.6 !important; | |
| } | |
| .message-wrap.user { | |
| background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important; | |
| border-left: 4px solid #3b82f6 !important; | |
| } | |
| .message-wrap.bot { | |
| background: #f8fafc !important; | |
| border-left: 4px solid #10b981 !important; | |
| } | |
| /* Input de texto */ | |
| .gr-textbox textarea { | |
| font-size: 1rem !important; | |
| padding: 0.875rem !important; | |
| border-radius: 0.5rem !important; | |
| border: 2px solid #e2e8f0 !important; | |
| transition: all 0.2s ease !important; | |
| } | |
| .gr-textbox textarea:focus { | |
| border-color: #3b82f6 !important; | |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important; | |
| outline: none !important; | |
| } | |
| /* Exemplos */ | |
| .examples { | |
| border-radius: 0.75rem !important; | |
| padding: 1rem !important; | |
| background: #f8fafc !important; | |
| border: 1px solid #e2e8f0 !important; | |
| } | |
| .examples button { | |
| background: white !important; | |
| border: 1px solid #e2e8f0 !important; | |
| border-radius: 0.5rem !important; | |
| padding: 0.75rem 1rem !important; | |
| font-size: 0.95rem !important; | |
| color: #475569 !important; | |
| transition: all 0.2s ease !important; | |
| } | |
| .examples button:hover { | |
| background: #f1f5f9 !important; | |
| border-color: #3b82f6 !important; | |
| color: #1e3a8a !important; | |
| transform: translateY(-1px); | |
| } | |
| /* Imagem de visualização */ | |
| .gr-image { | |
| border-radius: 0.75rem !important; | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important; | |
| border: 1px solid #e2e8f0 !important; | |
| } | |
| /* Labels */ | |
| label { | |
| font-weight: 600 !important; | |
| color: #334155 !important; | |
| font-size: 0.95rem !important; | |
| margin-bottom: 0.5rem !important; | |
| } | |
| /* Container principal */ | |
| .gradio-container { | |
| max-width: 1400px !important; | |
| margin: 0 auto !important; | |
| } | |
| /* Animação suave */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* Badge de status */ | |
| .status-badge { | |
| display: inline-block; | |
| padding: 0.25rem 0.75rem; | |
| border-radius: 9999px; | |
| font-size: 0.875rem; | |
| font-weight: 600; | |
| background: #dcfce7; | |
| color: #166534; | |
| } | |
| /* Scrollbar personalizada */ | |
| ::-webkit-scrollbar { | |
| width: 10px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #f1f5f9; | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #cbd5e1; | |
| border-radius: 10px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #94a3b8; | |
| } | |
| """ |