/* --- HEADER & LOGO --- */ .header-row { display: flex !important; align-items: flex-end !important; gap: 20px !important; margin-bottom: 30px !important; padding-bottom: 20px; border-bottom: 1px solid #e2e8f0; } .h4-margin{ margin: 4px 6px 6px 4px; } .logo-container img { margin-bottom: 4px !important; object-fit: contain; } .header-text-col h1 { font-family: 'Inter', sans-serif !important; font-weight: 900 !important; font-size: 2.2em !important; background: linear-gradient(90deg, #D65DB1 0%, #8B5CF6 50%, #F43F5E 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-align: left !important; margin-bottom: -2px !important; padding-bottom: 0 !important; line-height: 1.0 !important; } .header-text-col .subheader { text-align: left !important; color: #64748b; font-size: 1.1em; font-weight: 500; margin-top: 0 !important; padding-top: 0 !important; } /* --- CUSTOM TABS STYLE --- */ .tabs > .tab-nav { border-bottom: none !important; gap: 8px !important; margin-bottom: 15px !important; } .tabs > .tab-nav > button { border: 1px solid #e5e7eb !important; border-radius: 10px !important; background-color: white; color: #475569 !important; font-weight: 600 !important; padding: 6px 16px !important; transition: all 0.2s; } .tabs > .tab-nav > button:hover { background-color: #f1f5f9 !important; transform: translateY(-1px); } .tabs > .tab-nav > button.selected { background: linear-gradient(135deg, #8B5CF6 0%, #D65DB1 100%) !important; color: white !important; border: 1px solid transparent !important; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3) !important; } /* --- COMPONENTS --- */ button.primary { background: linear-gradient(135deg, #8B5CF6 0%, #D65DB1 100%) !important; border: none !important; color: white !important; transition: filter 0.2s; } button.primary:hover { filter: brightness(1.1); box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4); } .fixed-height { height: 380px !important; overflow: hidden !important; } .fixed-height button, .fixed-height .image-container, .fixed-height .upload-container { height: 100% !important; max-height: 100% !important; min-height: 100% !important; } .fixed-height img { object-fit: contain !important; max-height: 100% !important; } .fixed-height-tab2 {height: 500px} /* Model Card tab BPO */ .model-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 15px; font-size: 0.9em; color: #475569; margin-top: 10px; } .model-card strong{ color: #475569 !important } /* --- MOBILE RESPONSIVE --- */ @media (max-width: 768px) { /* Gestione Contenitore Principale*/ .gradio-container { padding-left: 15px !important; padding-right: 15px !important; max-width: 100% !important; overflow-x: hidden !important; } /* Header più compatto e centrato */ .header-row { flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 15px !important; margin-bottom: 20px !important; height: auto !important; text-align: left !important; padding-left: 5px !important; padding-right: 5px !important; } .logo-container { width: auto !important; flex-shrink: 0 !important; flex-grow: 0 !important; margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center !important; overflow: visible !important; } .logo-container img { height: 60px !important; width: auto !important; margin-bottom: 0 !important; object-fit: contain !important; } .header-text-col { width: auto !important; min-width: 0 !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; } .header-text-col h1 { text-align: left !important; font-size: 1.5em !important; line-height: 1.2 !important; margin-bottom: 2px !important; white-space: normal !important; word-wrap: break-word !important; } .header-text-col .subheader { text-align: left !important; font-size: 0.85rem !important; margin-top: 0 !important; line-height: 1.2 !important; display: block !important; } /* Responsive Rows: Stack verticale pulito */ .responsive-row { flex-direction: column !important; display: flex !important; gap: 20px !important; } .responsive-row > * { width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; } /* Tab Navigation: Griglia 2x2 per i pulsanti */ .tabs > .tab-nav { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; } .tabs > .tab-nav > button { flex-grow: 1 !important; text-align: center !important; font-size: 0.85rem !important; padding: 8px 4px !important; width: 48% !important; min-width: auto !important; } button { min-height: 45px !important; height: auto !important; } .fixed-height { height: auto !important; min-height: 300px !important; } } footer {visibility: hidden}