sdmadhav's picture
Create styles.css
7a806b4 verified
Raw
History Blame Contribute Delete
9.95 kB
/* Global Styling */
.gradio-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
min-height: 100vh;
}
/* Header Styling */
.main-header {
background: linear-gradient(135deg, #ff6b6b, #ee5a24, #ff9ff3, #54a0ff) !important;
background-size: 400% 400% !important;
animation: gradient 15s ease infinite !important;
padding: 2rem !important;
border-radius: 20px !important;
margin-bottom: 2rem !important;
box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
text-align: center !important;
}
@keyframes gradient {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.main-header h1 {
color: white !important;
font-size: 3rem !important;
font-weight: 700 !important;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
margin: 0 !important;
}
.main-header p {
color: rgba(0,0,0,1.0) !important;
font-size: 1.2rem !important;
margin-top: 0.5rem !important;
}
/* Tab Styling */
.tab-nav {
background: rgba(0,0,0,1.0) !important;
border-radius: 15px !important;
padding: 0.5rem !important;
backdrop-filter: blur(10px) !important;
border: 1px solid rgba(255,255,255,0.2) !important;
}
.tab-nav button {
background: rgba(0,0,0,1.0) !important;
color: white !important;
border-radius: 10px !important;
padding: 0.75rem 1.5rem !important;
margin: 0.25rem !important;
transition: all 0.3s ease !important;
font-weight: 600 !important;
border: none !important;
}
.tab-nav button:hover {
background: rgba(0,0,0,1.0) !important;
transform: translateY(-2px) !important;
box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
}
.tab-nav button.selected {
background: linear-gradient(135deg, #ff6b6b, #ee5a24) !important;
color: white !important;
box-shadow: 0 5px 15px rgba(255,107,107,0.4) !important;
}
/* Card Styling for Tab Content */
.tab-content {
background: rgba(255,255,255,0.95) !important;
border-radius: 20px !important;
padding: 2rem !important;
margin: 1rem 0 !important;
box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
backdrop-filter: blur(10px) !important;
border: 1px solid rgba(255,255,255,0.2) !important;
}
/* Input Styling */
.gr-textbox, .gr-number {
border-radius: 12px !important;
border: 2px solid #e1e5e9 !important;
padding: 0.75rem !important;
font-size: 1rem !important;
transition: all 0.3s ease !important;
background: white !important;
}
.gr-textbox:focus, .gr-number:focus {
border-color: #667eea !important;
box-shadow: 0 0 0 3px rgba(102,126,234,0.1) !important;
outline: none !important;
}
/* Radio Button Styling */
.gr-radio {
background: rgba(255,255,255,0.9) !important;
border-radius: 12px !important;
padding: 1rem !important;
border: 2px solid #e1e5e9 !important;
transition: all 0.3s ease !important;
}
.gr-radio label {
display: flex !important;
align-items: center !important;
padding: 0.5rem 1rem !important;
margin: 0.25rem 0 !important;
border-radius: 8px !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
background: rgba(102,126,234,0.05) !important;
border: 1px solid rgba(102,126,234,0.1) !important;
}
.gr-radio label:hover {
background: rgba(102,126,234,0.1) !important;
border-color: rgba(102,126,234,0.3) !important;
transform: translateX(5px) !important;
}
.gr-radio input[type="radio"] {
margin-right: 0.75rem !important;
transform: scale(1.2) !important;
accent-color: #667eea !important;
}
.gr-radio input[type="radio"]:checked + span {
color: #667eea !important;
font-weight: 600 !important;
}
.gr-radio label:has(input:checked) {
background: linear-gradient(135deg, rgba(102,126,234,0.2), rgba(118,75,162,0.2)) !important;
border-color: #667eea !important;
box-shadow: 0 2px 8px rgba(102,126,234,0.3) !important;
}
/* Checkbox Group Styling */
.gr-checkbox-group {
background: rgba(255,255,255,0.9) !important;
border-radius: 12px !important;
padding: 1rem !important;
border: 2px solid #e1e5e9 !important;
transition: all 0.3s ease !important;
}
.gr-checkbox-group label {
display: flex !important;
align-items: center !important;
padding: 0.5rem 1rem !important;
margin: 0.25rem 0 !important;
border-radius: 8px !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
background: rgba(72,187,120,0.05) !important;
border: 1px solid rgba(72,187,120,0.1) !important;
}
.gr-checkbox-group label:hover {
background: rgba(72,187,120,0.1) !important;
border-color: rgba(72,187,120,0.3) !important;
transform: translateX(5px) !important;
}
.gr-checkbox-group input[type="checkbox"] {
margin-right: 0.75rem !important;
transform: scale(1.2) !important;
accent-color: #48bb78 !important;
}
.gr-checkbox-group input[type="checkbox"]:checked + span {
color: #48bb78 !important;
font-weight: 600 !important;
}
.gr-checkbox-group label:has(input:checked) {
background: linear-gradient(135deg, rgba(72,187,120,0.2), rgba(56,161,105,0.2)) !important;
border-color: #48bb78 !important;
box-shadow: 0 2px 8px rgba(72,187,120,0.3) !important;
}
/* Button Styling */
.gr-button {
background: linear-gradient(135deg, #667eea, #764ba2) !important;
color: white !important;
border: none !important;
border-radius: 12px !important;
padding: 0.75rem 2rem !important;
font-weight: 600 !important;
font-size: 1rem !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
box-shadow: 0 4px 15px rgba(102,126,234,0.3) !important;
}
.gr-button:hover {
transform: translateY(-2px) !important;
box-shadow: 0 8px 25px rgba(102,126,234,0.4) !important;
background: linear-gradient(135deg, #5a67d8, #6b46c1) !important;
}
.gr-button:active {
transform: translateY(0) !important;
}
/* Special Button Colors */
.btn-success {
background: linear-gradient(135deg, #48bb78, #38a169) !important;
box-shadow: 0 4px 15px rgba(72,187,120,0.3) !important;
}
.btn-danger {
background: linear-gradient(135deg, #f56565, #e53e3e) !important;
box-shadow: 0 4px 15px rgba(245,101,101,0.3) !important;
}
.btn-warning {
background: linear-gradient(135deg, #ed8936, #dd6b20) !important;
box-shadow: 0 4px 15px rgba(237,137,54,0.3) !important;
}
.btn-info {
background: linear-gradient(135deg, #4299e1, #3182ce) !important;
box-shadow: 0 4px 15px rgba(66,153,225,0.3) !important;
}
/* DataFrame Styling */
.gr-dataframe {
border-radius: 12px !important;
overflow: hidden !important;
box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}
.gr-dataframe th {
background: linear-gradient(135deg, #667eea, #764ba2) !important;
color: black !important;
padding: 1rem !important;
font-weight: 600 !important;
}
.gr-dataframe td {
padding: 0.75rem 1rem !important;
border-bottom: 1px solid #e1e5e9 !important;
}
.gr-dataframe tr:nth-child(even) {
background: rgba(102,126,234,0.05) !important;
}
/* Status Messages */
.gr-textbox[data-testid="textbox"] {
border-left: 4px solid #667eea !important;
}
/* Section Headers */
.section-header {
color: #2d3748 !important;
font-size: 1.5rem !important;
font-weight: 700 !important;
margin-bottom: 1rem !important;
padding-bottom: 0.5rem !important;
border-bottom: 3px solid #667eea !important;
background: linear-gradient(135deg, #667eea, #764ba2) !important;
-webkit-background-clip: text !important;
-webkit-text-fill-color: transparent !important;
}
/* Form Groups */
.form-group {
margin-bottom: 1.5rem !important;
}
.form-row {
display: flex !important;
gap: 1rem !important;
margin-bottom: 1rem !important;
}
/* Animations */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.tab-content {
animation: fadeIn 0.5s ease-out !important;
}
/* Train Visual Styling */
.train-visual {
font-family: 'Courier New', monospace !important;
font-size: 1.2rem !important;
background: linear-gradient(135deg, #f7fafc, #edf2f7) !important;
padding: 1rem !important;
border-radius: 12px !important;
border: 2px solid #e1e5e9 !important;
margin: 1rem 0 !important;
}
/* Success/Error Messages */
.success-message {
color: #38a169 !important;
background: rgba(72,187,120,0.1) !important;
border: 1px solid rgba(72,187,120,0.3) !important;
border-radius: 8px !important;
padding: 0.75rem !important;
}
.error-message {
color: #e53e3e !important;
background: rgba(245,101,101,0.1) !important;
border: 1px solid rgba(245,101,101,0.3) !important;
border-radius: 8px !important;
padding: 0.75rem !important;
}
/* Responsive Design */
@media (max-width: 768px) {
.main-header h1 {
font-size: 2rem !important;
}
.form-row {
flex-direction: column !important;
}
.gr-button {
width: 100% !important;
margin: 0.5rem 0 !important;
}
}
/* Loading Animation */
.loading {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255,255,255,.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Glassmorphism Effect */
.glass {
background: rgba(255, 255, 255, 0.25) !important;
box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37) !important;
backdrop-filter: blur(4px) !important;
border-radius: 10px !important;
border: 1px solid rgba(255, 255, 255, 0.18) !important;
}