Добавление общих складов и удаление пустых ни разу не использованных общих складов

This commit is contained in:
2025-12-08 23:35:14 +03:00
parent 2a04f71e0c
commit 307f970d28
17 changed files with 755 additions and 62 deletions
+114
View File
@@ -342,4 +342,118 @@ tr:hover .action-buttons {
.toolkit-card-img {
height: 150px;
}
}
/* Стили для модального окна добавления склада */
.modal-content {
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.08);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.modal-header {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 12px 12px 0 0;
padding: 1.25rem 1.5rem;
}
.modal-title {
color: #495057;
font-weight: 600;
}
.modal-body {
padding: 1.5rem;
}
.modal-footer {
border-top: 1px solid rgba(0, 0, 0, 0.08);
padding: 1rem 1.5rem;
}
/* Стили для обязательных полей */
.form-label.required::after {
content: " *";
color: #dc3545;
}
/* Кастомные стили для переключателя */
.form-switch .form-check-input {
width: 3em;
height: 1.5em;
cursor: pointer;
transition: all 0.3s ease;
}
.form-switch .form-check-input:checked {
background-color: #0d6efd;
border-color: #0d6efd;
}
.form-switch .form-check-input:focus {
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-switch .form-check-label {
font-weight: 500;
cursor: pointer;
}
/* Стили для текстовых полей в фокусе */
.form-control:focus {
border-color: #86b7fe;
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
transition: all 0.3s ease;
}
/* Стили для валидации */
.form-control.is-valid {
border-color: #198754;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.form-control.is-invalid {
border-color: #dc3545;
padding-right: calc(1.5em + 0.75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(0.375em + 0.1875rem) center;
background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
/* Стили для текста подсказки */
.form-text {
color: #6c757d;
font-size: 0.875em;
margin-top: 0.25rem;
}
/* Стили для кнопок в модальном окне */
.modal-footer .btn {
min-width: 100px;
font-weight: 500;
}
/* Адаптивность для мобильных */
@media (max-width: 576px) {
.modal-dialog {
margin: 0.5rem;
}
.modal-content {
border-radius: 8px;
}
.modal-body {
padding: 1rem;
}
.modal-footer {
padding: 0.75rem 1rem;
}
}