Spaces:
No application file
No application file
/* Global styles */ | |
body { | |
margin: 0; | |
padding: 0; | |
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; | |
background-color: #ffffff; | |
color: #1C1F23; | |
} | |
/* App Container */ | |
.app-container { | |
display: flex; | |
min-height: 100vh; | |
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); | |
} | |
/* Sidebar styles */ | |
.sidebar { | |
width: 280px; | |
background: rgba(255, 255, 255, 0.95); | |
backdrop-filter: blur(10px); | |
border-right: 1px solid rgba(0, 0, 0, 0.1); | |
box-shadow: 2px 0 20px rgba(0, 0, 0, 0.05); | |
padding: 24px 0; | |
flex-shrink: 0; | |
} | |
.sidebar-header { | |
padding: 0 24px 20px; | |
border-bottom: 1px solid rgba(0, 0, 0, 0.08); | |
} | |
.sidebar-header h2 { | |
margin: 0; | |
font-size: 20px; | |
font-weight: 600; | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
-webkit-background-clip: text; | |
-webkit-text-fill-color: transparent; | |
letter-spacing: 0.5px; | |
} | |
.sidebar-nav { | |
padding: 20px 0; | |
} | |
.nav-item { | |
margin: 8px 16px; | |
border-radius: 12px; | |
overflow: hidden; | |
transition: transform 0.2s ease; | |
} | |
.nav-item:hover { | |
transform: translateX(4px); | |
} | |
.nav-link { | |
display: flex; | |
align-items: center; | |
padding: 14px 16px; | |
color: #1C1F23; | |
text-decoration: none; | |
border-radius: 12px; | |
transition: all 0.3s ease; | |
font-weight: 500; | |
} | |
.nav-link:hover { | |
background: linear-gradient(120deg, rgba(33, 150, 243, 0.1), rgba(0, 188, 212, 0.1)); | |
} | |
.nav-item.active .nav-link { | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
color: #fff; | |
box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3); | |
} | |
.nav-icon { | |
margin-right: 12px; | |
font-size: 18px; | |
} | |
/* Main Content Wrapper */ | |
.main-wrapper { | |
flex: 1; | |
padding: 24px; | |
max-width: calc(100% - 280px); | |
} | |
/* Header styles */ | |
.header { | |
background: rgba(255, 255, 255, 0.95); | |
padding: 24px; | |
border-radius: 16px; | |
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); | |
margin-bottom: 24px; | |
backdrop-filter: blur(10px); | |
border: 1px solid rgba(255, 255, 255, 0.4); | |
} | |
.header h1 { | |
margin: 0; | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
-webkit-background-clip: text; | |
-webkit-text-fill-color: transparent; | |
font-size: 28px; | |
text-align: center; | |
letter-spacing: 0.5px; | |
} | |
/* Filter section styles */ | |
.filter-section { | |
background-color: #fff; | |
padding: 20px; | |
border-radius: 8px; | |
box-shadow: 0 2px 4px rgba(0,0,0,0.1); | |
margin-bottom: 20px; | |
display: grid; | |
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
gap: 20px; | |
} | |
.filter-group { | |
display: flex; | |
flex-direction: column; | |
gap: 8px; | |
} | |
.filter-group label { | |
font-weight: 600; | |
color: #1C1F23; | |
margin-bottom: 4px; | |
} | |
.semi-select { | |
width: 100%; | |
padding: 8px 12px; | |
border: 1px solid #e0e0e0; | |
border-radius: 4px; | |
background-color: #fff; | |
font-size: 14px; | |
transition: border-color 0.2s; | |
} | |
.semi-select:hover { | |
border-color: #0077FF; | |
} | |
.semi-select:focus { | |
border-color: #0077FF; | |
outline: none; | |
box-shadow: 0 0 0 2px rgba(0,119,255,0.2); | |
} | |
.checkbox-group { | |
display: flex; | |
flex-wrap: wrap; | |
gap: 10px; | |
} | |
.semi-checkbox { | |
display: flex; | |
align-items: center; | |
gap: 6px; | |
cursor: pointer; | |
} | |
.semi-checkbox input[type="checkbox"] { | |
width: 16px; | |
height: 16px; | |
margin: 0; | |
} | |
.semi-checkbox span { | |
font-size: 14px; | |
} | |
/* Table styles */ | |
.table-container { | |
background: rgba(255, 255, 255, 0.95); | |
padding: 24px; | |
border-radius: 16px; | |
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); | |
overflow-x: auto; | |
backdrop-filter: blur(10px); | |
border: 1px solid rgba(255, 255, 255, 0.4); | |
} | |
.semi-table { | |
width: 100%; | |
border-collapse: separate; | |
border-spacing: 0; | |
font-size: 14px; | |
} | |
/* Column Header Styles */ | |
.column-header { | |
position: relative; | |
} | |
.header-content { | |
display: flex; | |
align-items: center; | |
justify-content: space-between; | |
padding: 16px; | |
background: linear-gradient(120deg, rgba(33, 150, 243, 0.05), rgba(0, 188, 212, 0.05)); | |
font-weight: 600; | |
color: #1C1F23; | |
white-space: nowrap; | |
border-bottom: 2px solid transparent; | |
transition: all 0.3s ease; | |
} | |
.header-content:hover { | |
background: linear-gradient(120deg, rgba(33, 150, 243, 0.1), rgba(0, 188, 212, 0.1)); | |
border-bottom: 2px solid #2196F3; | |
} | |
.header-actions { | |
display: flex; | |
gap: 8px; | |
} | |
.sort-btn, | |
.filter-btn { | |
background: none; | |
border: none; | |
padding: 6px; | |
cursor: pointer; | |
color: #666; | |
border-radius: 8px; | |
transition: all 0.3s ease; | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
} | |
.sort-btn:hover, | |
.filter-btn:hover { | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
color: #fff; | |
transform: translateY(-1px); | |
box-shadow: 0 4px 12px rgba(33, 150, 243, 0.2); | |
} | |
/* Filter Dropdown Styles */ | |
.filter-dropdown { | |
position: absolute; | |
top: 100%; | |
left: 0; | |
right: 0; | |
background: rgba(255, 255, 255, 0.98); | |
border: 1px solid rgba(0, 0, 0, 0.1); | |
border-radius: 12px; | |
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12); | |
z-index: 1000; | |
min-width: 240px; | |
backdrop-filter: blur(10px); | |
transform-origin: top; | |
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
} | |
.filter-content { | |
padding: 16px; | |
} | |
.filter-search { | |
width: 90%; | |
padding: 12px; | |
border: 1px solid rgba(0, 0, 0, 0.1); | |
border-radius: 8px; | |
margin-bottom: 12px; | |
font-size: 14px; | |
background: rgba(255, 255, 255, 0.9); | |
transition: all 0.3s ease; | |
} | |
.filter-search:focus { | |
outline: none; | |
border-color: #2196F3; | |
box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.2); | |
} | |
.filter-options { | |
max-height: 240px; | |
overflow-y: auto; | |
margin-bottom: 12px; | |
padding: 4px; | |
} | |
.filter-options::-webkit-scrollbar { | |
width: 8px; | |
} | |
.filter-options::-webkit-scrollbar-track { | |
background: rgba(0, 0, 0, 0.05); | |
border-radius: 4px; | |
} | |
.filter-options::-webkit-scrollbar-thumb { | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
border-radius: 4px; | |
} | |
.filter-option { | |
display: flex; | |
align-items: center; | |
padding: 10px 12px; | |
cursor: pointer; | |
border-radius: 8px; | |
transition: all 0.3s ease; | |
} | |
.filter-option:hover { | |
background: linear-gradient(120deg, rgba(33, 150, 243, 0.1), rgba(0, 188, 212, 0.1)); | |
} | |
.filter-option input[type="checkbox"] { | |
margin-right: 12px; | |
width: 18px; | |
height: 18px; | |
border-radius: 4px; | |
border: 2px solid #2196F3; | |
transition: all 0.3s ease; | |
position: relative; | |
cursor: pointer; | |
} | |
.filter-option input[type="checkbox"]:checked { | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
border-color: transparent; | |
} | |
.filter-actions { | |
display: flex; | |
justify-content: flex-end; | |
gap: 12px; | |
padding-top: 12px; | |
border-top: 1px solid rgba(0, 0, 0, 0.08); | |
} | |
.filter-actions button { | |
padding: 10px 16px; | |
border: none; | |
border-radius: 8px; | |
cursor: pointer; | |
font-size: 14px; | |
font-weight: 500; | |
transition: all 0.3s ease; | |
} | |
.filter-actions button:first-child { | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
color: #fff; | |
} | |
.filter-actions button:first-child:hover { | |
transform: translateY(-1px); | |
box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3); | |
} | |
.filter-actions button:last-child { | |
background: rgba(0, 0, 0, 0.05); | |
color: #1C1F23; | |
} | |
.filter-actions button:last-child:hover { | |
background: rgba(0, 0, 0, 0.1); | |
} | |
/* Table Body Styles */ | |
.semi-table td { | |
padding: 16px; | |
border-bottom: 1px solid rgba(0, 0, 0, 0.08); | |
transition: all 0.3s ease; | |
} | |
.semi-table tbody tr { | |
transition: all 0.3s ease; | |
} | |
.semi-table tbody tr:hover { | |
background: linear-gradient(120deg, rgba(33, 150, 243, 0.05), rgba(0, 188, 212, 0.05)); | |
transform: translateY(-1px); | |
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); | |
} | |
/* Links in table */ | |
.semi-table a { | |
color: #2196F3; | |
text-decoration: none; | |
transition: all 0.3s ease; | |
position: relative; | |
} | |
.semi-table a:hover { | |
color: #00BCD4; | |
} | |
.semi-table a::after { | |
content: ''; | |
position: absolute; | |
width: 100%; | |
height: 2px; | |
bottom: -2px; | |
left: 0; | |
background: linear-gradient(120deg, #2196F3, #00BCD4); | |
transform: scaleX(0); | |
transition: transform 0.3s ease; | |
} | |
.semi-table a:hover::after { | |
transform: scaleX(1); | |
} | |
/* Responsive design */ | |
@media (max-width: 1024px) { | |
.sidebar { | |
width: 240px; | |
} | |
.main-wrapper { | |
max-width: calc(100% - 240px); | |
padding: 16px; | |
} | |
} | |
@media (max-width: 768px) { | |
.app-container { | |
flex-direction: column; | |
} | |
.sidebar { | |
width: 100%; | |
border-right: none; | |
border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
padding: 16px 0; | |
} | |
.main-wrapper { | |
max-width: 100%; | |
padding: 16px; | |
} | |
.header { | |
padding: 16px; | |
margin-bottom: 16px; | |
} | |
.header h1 { | |
font-size: 24px; | |
} | |
.table-container { | |
padding: 16px; | |
border-radius: 12px; | |
} | |
.header-content { | |
padding: 12px; | |
} | |
.semi-table td, | |
.semi-table th { | |
padding: 12px; | |
font-size: 13px; | |
} | |
.filter-dropdown { | |
position: fixed; | |
top: 50%; | |
left: 50%; | |
transform: translate(-50%, -50%); | |
width: 90%; | |
max-width: 320px; | |
margin: 0 auto; | |
} | |
} | |
/* Dark mode support */ | |
@media (prefers-color-scheme: dark) { | |
body { | |
background-color: #121212; | |
color: #ffffff; | |
} | |
.app-container { | |
background: linear-gradient(135deg, #121212 0%, #1a1a1a 100%); | |
} | |
.sidebar, | |
.header, | |
.table-container { | |
background: rgba(255, 255, 255, 0.05); | |
border-color: rgba(255, 255, 255, 0.1); | |
} | |
.semi-table td { | |
border-color: rgba(255, 255, 255, 0.1); | |
} | |
.filter-dropdown { | |
background: rgba(18, 18, 18, 0.98); | |
} | |
.filter-search { | |
background: rgba(255, 255, 255, 0.05); | |
border-color: rgba(255, 255, 255, 0.1); | |
color: #ffffff; | |
} | |
.filter-option:hover { | |
background: rgba(255, 255, 255, 0.05); | |
} | |
} | |