Spaces:
Sleeping
Sleeping
:root { | |
--primary-color: #0d6efd; | |
--success-color: #198754; | |
--warning-color: #ffc107; | |
--danger-color: #dc3545; | |
--info-color: #0dcaf0; | |
} | |
* { | |
margin: 0; | |
padding: 0; | |
box-sizing: border-box; | |
} | |
body { | |
background-color: #f8f9fa; | |
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
color: var(--text-primary); | |
line-height: 1.6; | |
} | |
/* Modal Styles */ | |
.modal { | |
display: flex; | |
position: fixed; | |
z-index: 1000; | |
left: 0; | |
top: 0; | |
width: 100%; | |
height: 100%; | |
background-color: rgba(0,0,0,0.5); | |
align-items: center; | |
justify-content: center; | |
} | |
.modal-content { | |
background-color: var(--card-bg); | |
padding: 2rem; | |
border-radius: 12px; | |
box-shadow: 0 10px 25px rgba(0,0,0,0.2); | |
width: 90%; | |
max-width: 400px; | |
} | |
.modal-content h2 { | |
text-align: center; | |
margin-bottom: 1.5rem; | |
color: var(--primary-color); | |
} | |
.container { | |
max-width: 1200px; | |
margin: 0 auto; | |
padding: 20px; | |
} | |
.header { | |
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); | |
color: white; | |
padding: 2rem; | |
margin-bottom: 2rem; | |
border-radius: 12px; | |
} | |
.header-content { | |
display: flex; | |
justify-content: space-between; | |
align-items: center; | |
flex-wrap: wrap; | |
gap: 1rem; | |
} | |
.header h1 { | |
font-size: 2.5rem; | |
margin-bottom: 0.5rem; | |
} | |
.header p { | |
font-size: 1.1rem; | |
opacity: 0.9; | |
} | |
.user-info { | |
display: flex; | |
align-items: center; | |
gap: 1rem; | |
} | |
.user-info span { | |
font-weight: 500; | |
} | |
.dashboard-stats { | |
display: grid; | |
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
gap: 1.5rem; | |
margin-bottom: 2rem; | |
} | |
.stat-card { | |
background: linear-gradient(135deg, var(--primary-color), #0b5ed7); | |
color: white; | |
border-radius: 0.5rem; | |
padding: 1.5rem; | |
text-align: center; | |
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); | |
} | |
.stat-card h3 { | |
font-size: 2.5rem; | |
font-weight: 700; | |
margin-bottom: 0.5rem; | |
} | |
.stat-card p { | |
margin-bottom: 0; | |
opacity: 0.9; | |
} | |
.tabs { | |
display: flex; | |
margin-bottom: 2rem; | |
background: var(--card-bg); | |
border-radius: 12px; | |
padding: 0.5rem; | |
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1); | |
} | |
.tab-button { | |
flex: 1; | |
padding: 1rem; | |
border: none; | |
background: transparent; | |
cursor: pointer; | |
border-radius: 8px; | |
font-weight: 500; | |
transition: all 0.3s ease; | |
} | |
.tab-button.active { | |
background: var(--primary-color); | |
color: white; | |
} | |
.tab-content { | |
display: none; | |
background: var(--card-bg); | |
padding: 2rem; | |
border-radius: 12px; | |
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); | |
border: 1px solid var(--border-color); | |
} | |
.tab-content.active { | |
display: block; | |
} | |
/* File Upload Styling */ | |
.file-upload { | |
border: 2px dashed #dee2e6 ; | |
cursor: pointer; | |
transition: all 0.3s ease; | |
background-color: #f8f9fa; | |
} | |
.file-upload:hover { | |
border-color: var(--primary-color) ; | |
background-color: #e3f2fd; | |
} | |
.file-upload.dragover { | |
border-color: var(--primary-color) ; | |
background-color: #e3f2fd; | |
} | |
/* Form Styles */ | |
.form-group { | |
margin-bottom: 1.5rem; | |
} | |
.form-group label { | |
display: block; | |
margin-bottom: 0.5rem; | |
font-weight: 600; | |
color: var(--text-primary); | |
} | |
.form-control { | |
width: 100%; | |
padding: 0.75rem; | |
border: 2px solid var(--border-color); | |
border-radius: 8px; | |
font-size: 1rem; | |
transition: border-color 0.3s ease; | |
} | |
.form-control:focus { | |
outline: none; | |
border-color: var(--primary-color); | |
} | |
/* Button Styles */ | |
.btn { | |
padding: 0.75rem 1.5rem; | |
border: none; | |
border-radius: 8px; | |
font-size: 1rem; | |
font-weight: 600; | |
cursor: pointer; | |
transition: all 0.3s ease; | |
} | |
.btn-primary { | |
background: var(--primary-color); | |
color: white; | |
} | |
.btn-primary:hover { | |
background: var(--secondary-color); | |
} | |
.btn-secondary { | |
background: var(--text-secondary); | |
color: white; | |
} | |
.btn-success { | |
background: var(--success-color); | |
color: white; | |
} | |
.btn-danger { | |
background: var(--error-color); | |
color: white; | |
} | |
.btn-danger:hover { | |
background: #dc2626; | |
} | |
/* Result Boxes */ | |
.result-box { | |
padding: 1rem; | |
border-radius: 0.375rem; | |
font-family: 'Courier New', monospace; | |
white-space: pre-wrap; | |
word-wrap: break-word; | |
} | |
.result-success { | |
background-color: #d1e7dd; | |
border: 1px solid #badbcc; | |
color: #0f5132; | |
} | |
.result-error { | |
background-color: #f8d7da; | |
border: 1px solid #f5c2c7; | |
color: #842029; | |
} | |
.result-warning { | |
background-color: #fff3cd; | |
border: 1px solid #ffecb5; | |
color: #664d03; | |
} | |
.result-info { | |
background-color: #cff4fc; | |
border: 1px solid #b6effb; | |
color: #055160; | |
} | |
/* Document Cards */ | |
.document-grid { | |
display: grid; | |
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); | |
gap: 1rem; | |
} | |
.document-card { | |
background: white; | |
border: 1px solid #dee2e6; | |
border-radius: 0.375rem; | |
padding: 1rem; | |
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); | |
transition: box-shadow 0.15s ease-in-out; | |
} | |
.document-card:hover { | |
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); | |
} | |
/* Category Buttons */ | |
.category-buttons { | |
display: flex; | |
flex-wrap: wrap; | |
gap: 0.5rem; | |
} | |
.category-btn { | |
padding: 0.375rem 0.75rem; | |
border: 1px solid #dee2e6; | |
border-radius: 1.5rem; | |
background-color: white; | |
color: #6c757d; | |
cursor: pointer; | |
transition: all 0.15s ease-in-out; | |
text-decoration: none; | |
} | |
.category-btn:hover, | |
.category-btn.active { | |
background-color: var(--primary-color); | |
border-color: var(--primary-color); | |
color: white; | |
} | |
/* Loading Spinner */ | |
.loading { | |
display: inline-block; | |
width: 1rem; | |
height: 1rem; | |
border: 2px solid #f3f3f3; | |
border-top: 2px solid var(--primary-color); | |
border-radius: 50%; | |
animation: spin 1s linear infinite; | |
margin-right: 0.5rem; | |
} | |
@keyframes spin { | |
0% { transform: rotate(0deg); } | |
100% { transform: rotate(360deg); } | |
} | |
/* OCR Text Display */ | |
.ocr-text { | |
max-height: 300px; | |
overflow-y: auto; | |
background: #f8f9fa; | |
padding: 1rem; | |
border-radius: 0.375rem; | |
border: 1px solid #dee2e6; | |
font-family: 'Courier New', monospace; | |
font-size: 0.9rem; | |
line-height: 1.4; | |
} | |
/* Similarity Badges */ | |
.similarity-badge { | |
font-size: 0.75rem; | |
font-weight: 600; | |
padding: 0.25rem 0.5rem; | |
border-radius: 0.25rem; | |
} | |
.similarity-high { | |
background-color: #d1e7dd; | |
color: #0f5132; | |
} | |
.similarity-medium { | |
background-color: #fff3cd; | |
color: #664d03; | |
} | |
.similarity-low { | |
background-color: #f8d7da; | |
color: #842029; | |
} | |
/* Responsive adjustments */ | |
@media (max-width: 768px) { | |
.header-content { | |
text-align: center; | |
} | |
.header h1 { | |
font-size: 2rem; | |
} | |
.tabs { | |
flex-direction: column; | |
} | |
.tab-button { | |
text-align: center; | |
} | |
.document-grid { | |
grid-template-columns: 1fr; | |
} | |
.category-buttons { | |
justify-content: center; | |
} | |
.navbar-brand { | |
font-size: 1rem; | |
} | |
} | |
/* Custom scrollbar */ | |
.ocr-text::-webkit-scrollbar { | |
width: 8px; | |
} | |
.ocr-text::-webkit-scrollbar-track { | |
background: #f1f1f1; | |
border-radius: 4px; | |
} | |
.ocr-text::-webkit-scrollbar-thumb { | |
background: #c1c1c1; | |
border-radius: 4px; | |
} | |
.ocr-text::-webkit-scrollbar-thumb:hover { | |
background: #a8a8a8; | |
} | |