fredcaixeta
SQLLLLLLLLLL
2bc88b5
# 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;
}
"""