MODELOS_DAI_DAVID_V2 / styles.css
gui-sparim's picture
Upload styles.css
2bd70c7 verified
/* ============================================================
STYLES.CSS - CSS Centralizado para app_v4.py
============================================================ */
/* ============================================================
CLASSES REUTILIZÁVEIS (para HTML gerado pelo Python)
============================================================ */
/* ----- Título de Seção com Borda Laranja ----- */
.section-title-orange {
font-weight: 600;
color: #4a5568;
margin-bottom: 12px;
padding: 8px 12px;
border-left: 4px solid #FF8C00;
background: linear-gradient(90deg, #fff8f0 0%, white 100%);
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.3px;
border-radius: 0 6px 6px 0;
}
.section-title-orange-solid {
font-weight: 600;
color: #4a5568;
margin: 16px 0 8px 0;
padding: 8px 12px;
border-left: 4px solid #FF8C00;
background: #fff8f0;
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.3px;
}
/* ----- Card / Container Padrão ----- */
.dai-card {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
background: white;
border-radius: 12px;
padding: 20px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
line-height: 1.4;
}
.dai-card-light {
display: inline-flex;
align-items: center;
padding: 10px 14px;
background: linear-gradient(135deg, white 0%, #f8f9fa 100%);
border-radius: 8px;
border: 1px solid #e9ecef;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
white-space: nowrap;
box-sizing: border-box;
}
/* ----- Linha Campo-Valor (Flexbox) ----- */
.field-row {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 8px 12px;
margin: 2px 0;
font-size: 13px;
gap: 16px;
}
.field-row-label {
font-weight: 500;
flex-shrink: 0;
}
.field-row-value {
font-weight: 500;
font-family: 'Consolas', monospace;
}
.field-row-value-italic {
font-style: italic;
}
/* ----- Equação do Modelo ----- */
.equation-box {
padding: 12px;
margin: 4px 0;
font-size: 12px;
font-family: 'Consolas', monospace;
word-break: break-word;
background: #f8f9fa;
border-radius: 6px;
border-left: 3px solid #FF8C00;
}
/* ----- Interpretação (lista) ----- */
.interpretation-label {
padding: 8px 12px;
margin: 2px 0;
font-size: 13px;
font-weight: 500;
}
.interpretation-item {
padding: 4px 12px 4px 24px;
margin: 1px 0;
font-size: 13px;
font-style: italic;
}
/* ----- Placeholder / Em Desenvolvimento ----- */
.placeholder-alert {
padding: 20px;
background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
border-radius: 10px;
border: 1px dashed #dee2e6;
text-align: center;
color: #6c757d;
}
.placeholder-alert-title {
font-weight: 600;
margin-bottom: 8px;
}
.placeholder-alert-text {
font-size: 13px;
margin: 0;
}
/* ----- Grid de Cards ----- */
.dai-cards-grid {
display: grid;
gap: 8px;
padding: 16px;
background: linear-gradient(180deg, #fafbfc 0%, #f5f6f7 100%);
border-radius: 10px;
max-height: 360px;
overflow-y: auto;
}
/* ----- Container com Scroll ----- */
.scrollable-container {
max-height: 700px;
overflow-y: auto;
}
/* ============================================================
GRADIO - ESTILOS ESPECÍFICOS (IDÊNTICO AO APP_V3.PY)
============================================================ */
.gradio-container {
max-width: 100% !important;
padding: 15px !important;
background: #f5f5f5 !important;
}
/* ===== ÁREA DE UPLOAD ===== */
.upload-area {
background: white !important;
border-radius: 12px !important;
padding: 20px !important;
margin-bottom: 15px !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
border: 1px solid #e0e0e0 !important;
}
.upload-area .row {
margin-top: 15px !important;
padding: 15px !important;
background: #fafafa !important;
border-radius: 8px !important;
}
/* ===== LAYOUT PRINCIPAL ===== */
.main-row {
gap: 15px !important;
}
/* ===== PAINEL DE ABAS (ESQUERDA) ===== */
.left-panel {
background: white !important;
border-radius: 12px !important;
padding: 15px !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
border: 1px solid #e0e0e0 !important;
}
.tabs-container .tab-nav {
font-size: 13px !important;
}
/* ===== PAINEL DO MAPA (DIREITA) ===== */
.map-panel {
background: white !important;
border-radius: 12px !important;
padding: 15px !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
border: 1px solid #e0e0e0 !important;
}
.map-panel iframe {
border-radius: 8px !important;
}
#map-frame {
border-radius: 8px;
}
/* ===== TÍTULOS DE SEÇÃO ===== */
.section-title {
color: #4a5568 !important;
font-weight: 600 !important;
font-size: 14px !important;
letter-spacing: 0.3px !important;
margin-bottom: 10px !important;
}
/* ===== LABELS DOS COMPONENTES COM ESTILO LARANJA ===== */
.left-panel .label-wrap span,
.left-panel label > span:first-child,
.left-panel .wrap > label > span {
font-weight: 600 !important;
color: #4a5568 !important;
font-size: 13px !important;
letter-spacing: 0.3px !important;
text-transform: uppercase !important;
padding: 6px 10px !important;
border-left: 3px solid #FF8C00 !important;
background: linear-gradient(90deg, #fff8f0 0%, transparent 100%) !important;
border-radius: 0 4px 4px 0 !important;
display: inline-block !important;
margin-bottom: 8px !important;
}
/* Estilo para o título do mapa */
.map-panel .section-title h3,
.map-panel .section-title {
font-weight: 600 !important;
color: #4a5568 !important;
font-size: 14px !important;
letter-spacing: 0.3px !important;
text-transform: uppercase !important;
padding: 8px 12px !important;
border-left: 4px solid #FF8C00 !important;
background: linear-gradient(90deg, #fff8f0 0%, transparent 100%) !important;
border-radius: 0 6px 6px 0 !important;
margin-bottom: 12px !important;
}
.map-panel .section-title h3 {
margin: 0 !important;
padding: 0 !important;
border: none !important;
background: none !important;
}