zhurnal-vydachi-spetsodezhdy/style.css

133 lines
2.3 KiB
CSS

/* Кастомные стили поверх Tailwind */
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
/* Статусы в таблице */
.status-badge {
display: inline-block;
padding: 4px 12px;
border-radius: 9999px;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.status-worn {
background-color: #dbeafe;
color: #1e40af;
}
.status-returned {
background-color: #dcfce7;
color: #166534;
}
.status-overdue {
background-color: #fee2e2;
color: #991b1b;
}
/* Подсветка просроченных строк */
.row-overdue {
background-color: #fef2f2 !important;
border-left: 4px solid #ef4444;
}
.row-overdue:hover {
background-color: #fee2e2 !important;
}
/* Фильтры-чипсы */
.filter-chip {
padding: 6px 16px;
border-radius: 9999px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: 2px solid #e5e7eb;
background: white;
color: #6b7280;
}
.filter-chip:hover {
border-color: #3b82f6;
color: #3b82f6;
}
.filter-chip.active {
background: #3b82f6;
border-color: #3b82f6;
color: white;
}
/* Анимации */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: translateY(0); }
}
.modal-content {
animation: fadeIn 0.2s ease-out;
}
/* Скроллбар для журнала */
#log-container::-webkit-scrollbar {
width: 8px;
}
#log-container::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4px;
}
#log-container::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4px;
}
#log-container::-webkit-scrollbar-thumb:hover {
background: #a1a1a1;
}
/* Лог записи */
.log-entry {
padding: 8px 12px;
background: #f9fafb;
border-radius: 6px;
font-size: 13px;
border-left: 3px solid #6b7280;
}
.log-entry.delete {
border-left-color: #ef4444;
background: #fef2f2;
}
.log-entry.add {
border-left-color: #10b981;
background: #f0fdf4;
}
.log-entry.edit {
border-left-color: #3b82f6;
background: #eff6ff;
}
/* Пустое состояние */
.empty-state {
text-align: center;
padding: 48px 24px;
color: #9ca3af;
}
.empty-state svg {
width: 64px;
height: 64px;
margin-bottom: 16px;
opacity: 0.5;
}