Spaces:
Running
Running
| /* RehabWatch Custom Styles */ | |
| /* Main container styling */ | |
| .main .block-container { | |
| padding-top: 2rem; | |
| padding-bottom: 2rem; | |
| max-width: 1200px; | |
| } | |
| /* Header styling */ | |
| h1 { | |
| color: #2E7D32; | |
| } | |
| h2, h3 { | |
| color: #1B5E20; | |
| } | |
| /* Sidebar styling */ | |
| .css-1d391kg { | |
| background-color: #F5F5F5; | |
| } | |
| /* Sidebar header - Analysis Hub */ | |
| [data-testid="stSidebar"] > div:first-child { | |
| padding-top: 1rem; | |
| } | |
| [data-testid="stSidebar"] h2 { | |
| background: linear-gradient(135deg, #2E7D32, #4CAF50); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| font-weight: 700; | |
| } | |
| /* Mobile sidebar toggle enhancement */ | |
| [data-testid="collapsedControl"] { | |
| background-color: #2E7D32; | |
| border-radius: 8px; | |
| padding: 8px; | |
| } | |
| [data-testid="collapsedControl"]:hover { | |
| background-color: #1B5E20; | |
| } | |
| [data-testid="collapsedControl"] svg { | |
| color: white; | |
| } | |
| /* Button styling */ | |
| .stButton > button { | |
| border-radius: 8px; | |
| font-weight: 600; | |
| transition: all 0.3s ease; | |
| } | |
| .stButton > button:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3); | |
| } | |
| /* Primary button */ | |
| .stButton > button[kind="primary"] { | |
| background-color: #2E7D32; | |
| border-color: #2E7D32; | |
| } | |
| .stButton > button[kind="primary"]:hover { | |
| background-color: #1B5E20; | |
| border-color: #1B5E20; | |
| } | |
| /* Metric cards */ | |
| [data-testid="metric-container"] { | |
| background-color: #FAFAFA; | |
| border: 1px solid #E0E0E0; | |
| border-radius: 8px; | |
| padding: 1rem; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); | |
| } | |
| [data-testid="metric-container"]:hover { | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Success/Error messages */ | |
| .stSuccess { | |
| background-color: #E8F5E9; | |
| border-left: 4px solid #4CAF50; | |
| } | |
| .stError { | |
| background-color: #FFEBEE; | |
| border-left: 4px solid #F44336; | |
| } | |
| .stWarning { | |
| background-color: #FFF3E0; | |
| border-left: 4px solid #FF9800; | |
| } | |
| .stInfo { | |
| background-color: #E3F2FD; | |
| border-left: 4px solid #2196F3; | |
| } | |
| /* Tab styling */ | |
| .stTabs [data-baseweb="tab-list"] { | |
| gap: 8px; | |
| } | |
| .stTabs [data-baseweb="tab"] { | |
| background-color: #F5F5F5; | |
| border-radius: 8px 8px 0 0; | |
| padding: 10px 20px; | |
| } | |
| .stTabs [aria-selected="true"] { | |
| background-color: #2E7D32; | |
| color: white; | |
| } | |
| /* Expander styling */ | |
| .streamlit-expanderHeader { | |
| background-color: #F5F5F5; | |
| border-radius: 8px; | |
| } | |
| /* Progress bar */ | |
| .stProgress > div > div > div { | |
| background-color: #4CAF50; | |
| } | |
| /* Map container */ | |
| iframe { | |
| border-radius: 8px; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Download buttons */ | |
| .stDownloadButton > button { | |
| background-color: #1976D2; | |
| color: white; | |
| border: none; | |
| } | |
| .stDownloadButton > button:hover { | |
| background-color: #1565C0; | |
| } | |
| /* Date input */ | |
| .stDateInput > div { | |
| border-radius: 8px; | |
| } | |
| /* Select box */ | |
| .stSelectbox > div > div { | |
| border-radius: 8px; | |
| } | |
| /* Text input */ | |
| .stTextInput > div > div { | |
| border-radius: 8px; | |
| } | |
| /* Footer styling */ | |
| footer { | |
| visibility: hidden; | |
| } | |
| /* Custom scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #F5F5F5; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #BDBDBD; | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #9E9E9E; | |
| } | |
| /* Responsive adjustments */ | |
| @media (max-width: 768px) { | |
| .main .block-container { | |
| padding-left: 0.5rem; | |
| padding-right: 0.5rem; | |
| } | |
| h1 { | |
| font-size: 1.6rem; | |
| } | |
| h2 { | |
| font-size: 1.3rem; | |
| } | |
| h3 { | |
| font-size: 1.1rem; | |
| } | |
| /* Make metrics stack vertically on mobile */ | |
| [data-testid="metric-container"] { | |
| padding: 0.5rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| /* Smaller score display on mobile */ | |
| .score-display span { | |
| font-size: 48px ; | |
| } | |
| /* Make charts more compact */ | |
| .plotly-graph-div { | |
| height: 280px ; | |
| } | |
| /* Improve tab navigation on mobile */ | |
| .stTabs [data-baseweb="tab"] { | |
| padding: 8px 12px; | |
| font-size: 0.85rem; | |
| } | |
| /* Better button sizing on mobile */ | |
| .stButton > button { | |
| padding: 0.6rem 1rem; | |
| font-size: 0.9rem; | |
| } | |
| /* Reduce map height on mobile */ | |
| iframe { | |
| max-height: 350px; | |
| } | |
| } | |
| /* Extra small screens */ | |
| @media (max-width: 480px) { | |
| .main .block-container { | |
| padding-left: 0.3rem; | |
| padding-right: 0.3rem; | |
| } | |
| h1 { | |
| font-size: 1.4rem; | |
| } | |
| /* Stack columns on very small screens */ | |
| [data-testid="column"] { | |
| width: 100% ; | |
| flex: 100% ; | |
| } | |
| } | |
| /* Animation for loading */ | |
| @keyframes pulse { | |
| 0%, 100% { | |
| opacity: 1; | |
| } | |
| 50% { | |
| opacity: 0.5; | |
| } | |
| } | |
| .loading { | |
| animation: pulse 1.5s ease-in-out infinite; | |
| } | |
| /* Score display styling */ | |
| .score-display { | |
| text-align: center; | |
| padding: 20px; | |
| border-radius: 10px; | |
| margin-bottom: 20px; | |
| } | |
| .score-excellent { | |
| background-color: rgba(27, 94, 32, 0.1); | |
| } | |
| .score-good { | |
| background-color: rgba(76, 175, 80, 0.1); | |
| } | |
| .score-moderate { | |
| background-color: rgba(255, 152, 0, 0.1); | |
| } | |
| .score-low { | |
| background-color: rgba(183, 28, 28, 0.1); | |
| } | |
| /* Chart container */ | |
| .plotly-graph-div { | |
| border-radius: 8px; | |
| } | |
| /* Table styling */ | |
| .dataframe { | |
| border-radius: 8px; | |
| overflow: hidden; | |
| } | |
| .dataframe th { | |
| background-color: #2E7D32; | |
| color: white; | |
| } | |
| .dataframe tr:nth-child(even) { | |
| background-color: #F5F5F5; | |
| } | |
| /* Tooltip styling */ | |
| [data-testid="stTooltipIcon"] { | |
| color: #757575; | |
| } | |
| [data-testid="stTooltipIcon"]:hover { | |
| color: #2E7D32; | |
| } | |