EduMentorAI / src /static /css /document_upload.css
ziadtarek12's picture
OCR Done!
65c4ece
Raw
History Blame Contribute Delete
4.76 kB
.upload-subtext {
font-size: 0.9rem;
color: var(--text-muted);
}
.file-input {
display: none;
}
.upload-form {
background: var(--bg-primary);
border-radius: 12px;
padding: 2rem;
box-shadow: var(--shadow-medium);
border: 1px solid var(--border-color);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
color: var(--text-primary);
}
.form-control {
width: 100%;
padding: 12px 16px;
border: 1px solid var(--border-color);
border-radius: 8px;
font-size: 14px;
transition: all 0.3s ease;
background: var(--bg-primary);
color: var(--text-primary);
}
.form-control:focus {
outline: none;
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}
.form-select {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
background-position: right 8px center;
background-repeat: no-repeat;
background-size: 16px 12px;
padding-right: 2.5rem;
appearance: none;
}
.btn-upload {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
color: white;
border: none;
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 8px;
width: 100%;
justify-content: center;
}
.btn-upload:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}
.file-preview {
margin-top: 1rem;
padding: 1rem;
background: var(--bg-secondary);
border-radius: 8px;
border: 1px solid var(--border-color);
}
.file-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
}
.file-icon {
width: 32px;
height: 32px;
background: var(--primary-color);
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 14px;
}
.file-info {
flex: 1;
}
.file-name {
font-weight: 500;
color: var(--text-primary);
margin-bottom: 2px;
}
.file-size {
font-size: 12px;
color: var(--text-muted);
}
.progress-bar {
width: 100%;
height: 4px;
background: var(--border-color);
border-radius: 2px;
overflow: hidden;
margin-top: 8px;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
transition: width 0.3s ease;
}
.error-message {
background: #fee;
color: #c53030;
padding: 12px;
border-radius: 8px;
border: 1px solid #fed7d7;
margin-bottom: 1rem;
}
.success-message {
background: #f0fff4;
color: #22543d;
padding: 12px;
border-radius: 8px;
border: 1px solid #c6f6d5;
margin-bottom: 1rem;
}
@media (max-width: 768px) {
.upload-container {
padding: 1rem;
}
.upload-area {
padding: 2rem 1rem;
}
.upload-form {
padding: 1.5rem;
}
}
.drop-area.dragover {
border-color: var(--primary-color) !important;
background-color: rgba(139, 92, 246, 0.05) !important;
}
.form-control:focus,
.form-select:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 0.2rem rgba(139, 92, 246, 0.25);
background-color: var(--chat-bg);
color: var(--text-primary);
}
.breadcrumb-item + .breadcrumb-item::before {
color: var(--text-secondary);
}
/* Processing Mode Selection Styles */
.processing-mode-container {
transition: all 0.3s ease;
}
.processing-option {
transition: all 0.3s ease;
position: relative;
}
.processing-option:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
.processing-option .form-check-input {
width: 20px;
height: 20px;
margin-top: 0;
border: 2px solid var(--border-color);
}
.processing-option .form-check-input:checked {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.processing-option .form-check-input:checked[value="fast"] {
background-color: #28a745;
border-color: #28a745;
}
.processing-option .form-check-input:checked[value="ocr"] {
background-color: #6f42c1;
border-color: #6f42c1;
}
.processing-option .badge {
font-weight: 500;
padding: 0.25rem 0.5rem;
border-radius: 0.375rem;
}
@media (max-width: 768px) {
.processing-mode-container .row {
gap: 1rem;
}
.processing-option {
margin-bottom: 1rem;
}
}