/* ============================================================ 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; }