5240-frontend / css /style.css
Gordon Li
missing css
fd6bf35
/* General styles */
.stApp {
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
/* Sidebar styles */
.sidebar-header {
font-size: 1.5em;
font-weight: bold;
margin-bottom: 1em;
color: #1a1a1a;
}
/* Map container styles */
.map-container {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Listing card styles */
.listing-card {
background: white;
border-radius: 8px;
padding: 1.2em;
margin-bottom: 1em;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
transition: all 0.3s ease;
border: 1px solid transparent;
}
.listing-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
border-color: #0078D4;
}
.listing-title {
font-size: 1.1em;
font-weight: bold;
margin: 0 0 0.5em 0;
color: #1a1a1a;
line-height: 1.4;
}
.listing-info {
margin: 0.3em 0;
color: #4a4a4a;
font-size: 0.9em;
line-height: 1.5;
}
/* Enhanced search summary styles */
.search-summary {
background-color: #f8f9fa;
border-left: 4px solid #0078D4;
padding: 12px 16px;
margin-bottom: 16px;
border-radius: 4px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.search-summary p {
margin: 0;
color: #1A1A1A;
font-size: 14px;
line-height: 1.5;
}
.search-query {
color: #666 !important;
font-size: 13px !important;
margin-top: 4px !important;
font-style: italic;
padding-left: 4px;
border-left: 2px solid #ddd;
}
/* Relevance indicators */
.relevance-score {
display: inline-block;
padding: 2px 8px;
border-radius: 12px;
font-size: 12px;
font-weight: 500;
margin-top: 8px;
background-color: #E3F2FD;
color: #0078D4;
}
.matching-features {
margin-top: 8px;
padding: 4px 8px;
background-color: #F5F5F5;
border-radius: 4px;
font-size: 12px;
color: #666;
}
/* Scrollable container */
.scrollable-container {
max-height: 600px;
overflow-y: auto;
padding-right: 10px;
scrollbar-gutter: stable;
}
/* Enhanced custom scrollbar */
.scrollable-container::-webkit-scrollbar {
width: 8px;
}
.scrollable-container::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4px;
}
.scrollable-container::-webkit-scrollbar-thumb {
background: #888;
border-radius: 4px;
border: 2px solid #f1f1f1;
}
.scrollable-container::-webkit-scrollbar-thumb:hover {
background: #555;
}
/* Enhanced button styles */
.stButton > button {
width: 100%;
border-radius: 4px;
font-weight: 500;
transition: all 0.2s ease;
text-transform: uppercase;
font-size: 12px;
letter-spacing: 0.5px;
}
.stButton > button:hover {
transform: translateY(-1px);
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.stButton > button:active {
transform: translateY(0);
}
/* Enhanced search input styles */
.sidebar .stTextInput input {
width: 100%;
padding: 10px 14px;
border: 1px solid #e0e0e0;
border-radius: 6px;
font-size: 14px;
transition: all 0.2s ease;
background-color: #f8f9fa;
}
.sidebar .stTextInput input:hover {
border-color: #0078D4;
background-color: #fff;
}
.sidebar .stTextInput input:focus {
border-color: #0078D4;
box-shadow: 0 0 0 3px rgba(0,120,212,0.15);
background-color: #fff;
}
/* Loading spinner styles */
.stSpinner {
text-align: center;
padding: 20px;
}
/* Tokenizer match highlight */
.token-match {
background-color: #E3F2FD;
padding: 2px 4px;
border-radius: 3px;
margin: 0 2px;
font-weight: 500;
}
/* Relevance badge styles */
.relevance-badge {
display: inline-flex;
align-items: center;
padding: 4px 8px;
border-radius: 12px;
font-size: 12px;
font-weight: 500;
margin-top: 8px;
}
.relevance-badge.high {
background-color: #E8F5E9;
color: #2E7D32;
}
.relevance-badge.medium {
background-color: #FFF3E0;
color: #E65100;
}
.relevance-badge.low {
background-color: #FFEBEE;
color: #C62828;
}
/* Feature match styles */
.feature-match {
display: inline-block;
margin: 2px;
padding: 2px 6px;
background-color: #F5F5F5;
border-radius: 3px;
font-size: 11px;
color: #666;
}
/* Error message styles */
.error-message {
background-color: #FFEBEE;
border-left: 4px solid #C62828;
padding: 12px 16px;
margin: 16px 0;
border-radius: 4px;
color: #C62828;
}
.review-card {
background: white;
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 16px;
margin-bottom: 16px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.review-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
}
.reviewer-name {
font-weight: bold;
color: #1a73e8;
}
.review-date {
color: #666;
font-size: 0.9em;
}
.review-content {
line-height: 1.6;
color: #333;
}
.relevance-indicator {
font-size: 0.9em;
font-weight: 500;
padding: 4px 8px;
border-radius: 4px;
background: rgba(0,0,0,0.05);
display: inline-block;
}
.review-search-container {
margin-bottom: 20px;
}
.review-filters {
display: flex;
gap: 16px;
margin-bottom: 16px;
}
.scrollable-reviews {
max-height: 600px;
overflow-y: auto;
padding-right: 16px;
}
.listing-card {
padding: 15px;
margin-bottom: 15px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.listing-title {
margin: 0 0 10px 0;
font-size: 1.1em;
font-weight: bold;
}
.listing-info {
margin: 5px 0;
font-size: 0.9em;
}
.sidebar-header {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 20px;
}
.map-container {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.scrollable-container {
max-height: calc(100vh - 100px);
overflow-y: auto;
padding-right: 10px;
}
.listing-card {
padding: 15px;
margin-bottom: 15px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
transition: background-color 0.3s ease;
}
.listing-title {
margin: 0 0 10px 0;
font-size: 1.1em;
font-weight: bold;
color: #2c3e50;
}
.listing-info {
margin: 5px 0;
font-size: 0.9em;
color: #34495e;
}
/* Dialog styling */
.dialog-content {
background-color: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
margin: 20px 0;
max-height: 80vh;
overflow-y: auto;
}
.review-card {
background-color: #f8f9fa;
border-left: 4px solid #4CAF50;
padding: 15px;
margin: 10px 0;
border-radius: 4px;
}
.review-header {
font-weight: bold;
color: #2c3e50;
margin-bottom: 8px;
}
.review-content {
color: #34495e;
line-height: 1.6;
font-size: 0.95em;
}
/* Button styling */
.stButton button {
width: 100%;
border-radius: 4px;
transition: all 0.3s ease;
}
.stButton button:hover {
transform: translateY(-1px);
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
/* Pagination styling */
.pagination {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
/* Custom scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
background: #888;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
.highlight {
background-color: #FFEB3B;
padding: 0 2px;
border-radius: 2px;
font-weight: bold;
}
.original-price {
text-decoration: line-through;
color: #999;
margin-right: 5px;
}
.discounted-price {
font-weight: bold;
color: #2e7d32;
}
.discount-tag {
background-color: #4caf50;
color: white;
padding: 2px 5px;
border-radius: 3px;
font-size: 0.8em;
margin-left: 5px;
}