diff --git a/src/views/admin/AdminReportDetail.vue b/src/views/admin/AdminReportDetail.vue
index f9a7fa6..2759fdb 100644
--- a/src/views/admin/AdminReportDetail.vue
+++ b/src/views/admin/AdminReportDetail.vue
@@ -91,7 +91,7 @@
-
+
vs
@@ -843,677 +843,202 @@ h2 {
transform: none;
}
-/* Модальные окна */
+/* Полностью обновленные стили модального окна */
.modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
- background: rgba(0, 0, 0, 0.5);
+ background-color: rgba(0, 0, 0, 0.7);
display: flex;
- align-items: center;
justify-content: center;
- z-index: 1000;
- padding: 1rem;
+ align-items: center;
+ z-index: 10000; /* Очень высокий z-index для перекрытия всех элементов */
+ padding: env(safe-area-inset-top, 16px) env(safe-area-inset-right, 16px) env(safe-area-inset-bottom, 16px) env(safe-area-inset-left, 16px);
}
.modal {
- background: white;
- border-radius: 0.75rem;
- padding: 1.5rem;
+ position: relative;
+ width: calc(100% - 32px);
max-width: 500px;
- width: 100%;
- max-height: 90vh;
+ background-color: #fff;
+ border-radius: 12px;
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
+ padding: 20px;
+ max-height: 80vh;
overflow-y: auto;
- box-sizing: border-box;
+ z-index: 10001; /* Чуть выше, чем у оверлея */
+ animation: modal-appear 0.2s ease-out;
+}
+
+@keyframes modal-appear {
+ from { opacity: 0; transform: scale(0.9); }
+ to { opacity: 1; transform: scale(1); }
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
- margin-bottom: 1rem;
+ border-bottom: 1px solid #e9ecef;
+ padding-bottom: 15px;
+ margin-bottom: 15px;
}
.modal-header h3 {
margin: 0;
+ font-size: 1.25rem;
color: #333;
- font-size: 1.2rem;
+ font-weight: 600;
}
.modal-close {
background: transparent;
border: none;
- cursor: pointer;
- font-size: 1.25rem;
- color: #6c757d;
- padding: 0.25rem;
- min-width: 32px;
- min-height: 32px;
+ width: 36px;
+ height: 36px;
+ border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
+ cursor: pointer;
+ color: #6c757d;
+ font-size: 20px;
+ transition: background-color 0.2s;
}
.modal-close:hover {
+ background-color: #f0f0f0;
color: #333;
- background: #f8f9fa;
- border-radius: 0.25rem;
+}
+
+.modal-content {
+ margin-bottom: 20px;
+}
+
+.modal-content p {
+ margin-top: 0;
+ color: #495057;
}
.form-group {
- margin: 1rem 0;
+ margin-top: 20px;
}
.form-group label {
display: block;
- font-weight: 600;
+ font-weight: 500;
+ margin-bottom: 8px;
color: #495057;
- margin-bottom: 0.5rem;
}
.form-group textarea {
width: 100%;
- min-height: 100px;
- padding: 0.75rem;
+ padding: 12px;
border: 1px solid #ced4da;
- border-radius: 0.375rem;
+ border-radius: 8px;
+ min-height: 100px;
font-family: inherit;
+ font-size: 14px;
resize: vertical;
box-sizing: border-box;
}
.modal-actions {
display: flex;
- gap: 1rem;
justify-content: flex-end;
- margin-top: 1.5rem;
flex-wrap: wrap;
+ gap: 10px;
+ margin-top: 20px;
}
-/* Пользовательские карточки в секции участников */
+/* Исправления для корректного отображения блока "Участники" */
.users-grid {
display: grid;
grid-template-columns: 1fr auto 1fr;
- gap: 1rem;
+ gap: 15px;
align-items: center;
width: 100%;
+}
+
+.user-card {
+ background: white;
+ border: 1px solid #e9ecef;
+ border-radius: 8px;
+ padding: 15px;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
+ display: flex;
+ flex-direction: column;
+ height: 100%;
box-sizing: border-box;
}
-/* На мобильных устройствах меняем сетку на вертикальную */
+.user-details {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+}
+
+.user-name, .user-email {
+ word-break: break-word;
+ overflow-wrap: break-word;
+}
+
+.arrow-divider {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #6c757d;
+}
+
+.arrow-icon {
+ font-size: 20px;
+}
+
+.vs-text {
+ display: none;
+ font-weight: 600;
+ font-size: 14px;
+ color: #495057;
+}
+
+/* Адаптивные стили для мобильных устройств */
@media (max-width: 767px) {
.users-grid {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto;
- gap: 0.75rem;
+ gap: 10px;
}
-
+
.arrow-divider {
- transform: rotate(90deg);
- margin: 0.5rem 0;
+ display: flex;
+ justify-content: center;
+ height: 40px;
}
-
- .vs-text {
- display: block;
- }
-
+
.arrow-icon {
- display: none;
+ transform: rotate(90deg);
}
-}
-/* Адаптивные стили для разных экранов */
-
-/* Очень маленькие экраны (до 360px) */
-@media (max-width: 360px) {
- .admin-report-detail {
- padding: 1rem 0.5rem calc(60px + env(safe-area-inset-bottom, 0px)) 0.5rem;
- }
-
- h2 {
- font-size: 1.3rem;
- }
-
- .page-header {
- flex-direction: column;
- align-items: flex-start;
- gap: 0.75rem;
- }
-
- .report-header {
- padding: 0.75rem;
- flex-direction: column;
- align-items: flex-start;
- gap: 0.75rem;
- min-height: auto;
- }
-
- .report-info {
- width: 100%;
- gap: 0.5rem;
- }
-
- .report-id-section {
- gap: 0.5rem;
- }
-
- .report-icon {
- font-size: 1.25rem;
- }
-
- .report-title {
- font-size: 1.1rem;
- margin-bottom: 0.25rem;
- }
-
- .full-id-container {
- flex-direction: column;
- gap: 0.125rem;
- align-items: flex-start;
- }
-
- .id-label {
- font-size: 0.75rem;
- }
-
- .full-id {
- font-size: 0.75rem;
- padding: 0.0625rem 0.125rem;
- width: 100%;
- word-break: break-all;
- }
-
- .report-date {
- width: 100%;
- gap: 0.375rem;
- text-align: left;
- align-self: flex-start;
- }
-
- .date-icon {
- font-size: 1rem;
- }
-
- .date-info {
- text-align: left;
- gap: 0.0625rem;
- }
-
- .date-label {
- font-size: 0.7rem;
- }
-
- .date-value {
- font-size: 0.8rem;
- white-space: normal;
- }
-}
-
-/* Маленькие экраны (361px - 480px) */
-@media (min-width: 361px) and (max-width: 480px) {
- .admin-report-detail {
- padding: 1rem 0.75rem calc(60px + env(safe-area-inset-bottom, 0px)) 0.75rem;
- }
-
- .report-header {
- padding: 1rem;
- flex-direction: column;
- align-items: flex-start;
- gap: 1rem;
- min-height: auto;
- }
-
- .report-info {
- width: 100%;
- }
-
- .report-date {
- width: 100%;
- text-align: left;
- align-self: flex-start;
- }
-
- .date-info {
- text-align: left;
- }
-
- .full-id {
- font-size: 0.8rem;
- }
-
- .date-value {
- white-space: normal;
- }
-}
-
-/* Средние экраны (481px - 767px) */
-@media (min-width: 481px) and (max-width: 767px) {
- .admin-report-detail {
- padding: 1.25rem calc(60px + env(safe-area-inset-bottom, 0px)) 1.25rem;
- }
-
- .report-header {
- padding: 1.25rem;
- flex-direction: row;
- align-items: flex-start;
- flex-wrap: wrap;
- gap: 1rem;
- }
-
- .report-info {
- flex: 1;
- min-width: 250px;
- }
-
- .report-date {
- flex-shrink: 0;
- min-width: 150px;
- }
-
- .date-value {
- white-space: nowrap;
- }
-}
-
-/* Большие экраны (768px - 991px) */
-@media (min-width: 768px) and (max-width: 991px) {
- .admin-report-detail {
- padding: 1.5rem 1.25rem calc(60px + env(safe-area-inset-bottom, 0px)) 1.25rem;
- }
-
- .report-header {
- padding: 1.5rem;
- flex-direction: row;
- align-items: flex-start;
- gap: 1.25rem;
- }
-
- .report-info {
- flex: 1;
- max-width: calc(100% - 200px);
- }
-
- .report-date {
- flex-shrink: 0;
- min-width: 180px;
- }
-}
-
-/* Очень большие экраны (992px - 1199px) */
-@media (min-width: 992px) and (max-width: 1199px) {
- .admin-report-detail {
- padding: 2rem 1.5rem calc(60px + env(safe-area-inset-bottom, 0px)) 1.5rem;
- }
-
- .report-header {
- padding: 1.75rem;
- gap: 1.5rem;
- }
-
- .report-info {
- max-width: calc(100% - 220px);
- }
-
- .report-date {
- min-width: 200px;
- }
-}
-
-/* Десктопные экраны (1200px+) */
-@media (min-width: 1200px) {
- .admin-report-detail {
- padding: 2rem calc(60px + env(safe-area-inset-bottom, 0px)) 2rem;
- max-width: 1200px;
- margin: 0 auto;
- }
-
- .report-header {
- padding: 2rem;
- gap: 2rem;
- }
-
- .report-info {
- max-width: calc(100% - 250px);
- }
-
- .report-date {
- min-width: 230px;
- }
-
- .report-title {
- font-size: 1.4rem;
- }
-
- .full-id {
- font-size: 0.9rem;
- }
-
- .date-value {
- font-size: 1rem;
- }
-}
-
-/* Ландшафтная ориентация на мобильных */
-@media (max-height: 450px) and (orientation: landscape) {
- .admin-report-detail {
- padding: 1rem calc(50px + env(safe-area-inset-bottom, 0px)) 1rem;
- }
-
- .header-controls {
- margin-bottom: 1rem;
- }
-
- .page-header {
- margin-bottom: 1rem;
- }
-
- .report-content,
- .info-section,
- .report-actions {
- padding: 1rem;
- }
-
- .info-grid {
- gap: 1rem;
+ .vs-text {
+ display: inline;
+ margin-left: 8px;
}
.modal {
+ width: calc(100% - 16px);
+ padding: 16px;
max-height: 85vh;
}
-}
-
-/* Высокие экраны */
-@media (min-height: 800px) {
- .admin-report-detail {
- min-height: calc(100vh - 120px);
- }
-}
-
-/* Устройства с вырезом (notch) */
-@supports (padding: env(safe-area-inset-bottom)) {
- .admin-report-detail {
- padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
- }
-}
-
-/* Ретина экраны с высокой плотностью пикселей */
-@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
- .loading-spinner {
- border-width: 2px;
+
+ .modal-header {
+ padding-bottom: 12px;
+ margin-bottom: 12px;
}
- .user-card {
- border-width: 0.5px;
- }
-}
-
-/* Темная тема (если поддерживается) */
-@media (prefers-color-scheme: dark) {
- /* Оставляем светлую тему для админ панели */
-}
-
-/* Уменьшенная анимация для пользователей с проблемами вестибулярного аппарата */
-@media (prefers-reduced-motion: reduce) {
- .loading-spinner {
- animation: none;
- }
-
- .btn,
- .back-btn,
- .view-user-btn,
- .user-card {
- transition: none;
- }
-
- .btn:hover,
- .back-btn:hover,
- .view-user-btn:hover {
- transform: none;
- }
-}
-
-/* Адаптивные стили для блока header жалобы на разных экранах */
-
-/* Очень маленькие экраны (до 360px) - адаптация header */
-@media (max-width: 360px) {
- .report-header {
- padding: 0.75rem;
- flex-direction: column;
- align-items: flex-start;
- gap: 0.75rem;
- min-height: auto;
- }
-
- .report-info {
- width: 100%;
- gap: 0.5rem;
- }
-
- .report-id-section {
- gap: 0.5rem;
- }
-
- .report-icon {
- font-size: 1.25rem;
- }
-
- .report-title {
+ .modal-header h3 {
font-size: 1.1rem;
- margin-bottom: 0.25rem;
- }
-
- .full-id-container {
- flex-direction: column;
- gap: 0.125rem;
- align-items: flex-start;
- }
-
- .id-label {
- font-size: 0.75rem;
- }
-
- .full-id {
- font-size: 0.75rem;
- padding: 0.0625rem 0.125rem;
- width: 100%;
- word-break: break-all;
- }
-
- .report-date {
- width: 100%;
- gap: 0.375rem;
- text-align: left;
- align-self: flex-start;
- }
-
- .date-icon {
- font-size: 1rem;
- }
-
- .date-info {
- text-align: left;
- gap: 0.0625rem;
- }
-
- .date-label {
- font-size: 0.7rem;
- }
-
- .date-value {
- font-size: 0.8rem;
- white-space: normal;
- }
-}
-
-/* Маленькие экраны (361px - 480px) - адаптация header */
-@media (min-width: 361px) and (max-width: 480px) {
- .report-header {
- padding: 1rem;
- flex-direction: column;
- align-items: flex-start;
- gap: 1rem;
- min-height: auto;
- }
-
- .report-info {
- width: 100%;
- }
-
- .report-date {
- width: 100%;
- text-align: left;
- align-self: flex-start;
- }
-
- .date-info {
- text-align: left;
- }
-
- .full-id {
- font-size: 0.8rem;
- }
-
- .date-value {
- white-space: normal;
- }
-}
-
-/* Средние экраны (481px - 767px) - адаптация header */
-@media (min-width: 481px) and (max-width: 767px) {
- .report-header {
- padding: 1.25rem;
- flex-direction: row;
- align-items: flex-start;
- flex-wrap: wrap;
- gap: 1rem;
- }
-
- .report-info {
- flex: 1;
- min-width: 250px;
- }
-
- .report-date {
- flex-shrink: 0;
- min-width: 150px;
- }
-
- .date-value {
- white-space: nowrap;
- }
-}
-
-/* Большие экраны (768px - 991px) - адаптация header */
-@media (min-width: 768px) and (max-width: 991px) {
- .report-header {
- padding: 1.5rem;
- flex-direction: row;
- align-items: flex-start;
- gap: 1.25rem;
- }
-
- .report-info {
- flex: 1;
- max-width: calc(100% - 200px);
- }
-
- .report-date {
- flex-shrink: 0;
- min-width: 180px;
- }
-}
-
-/* Очень большие экраны (992px - 1199px) - адаптация header */
-@media (min-width: 992px) and (max-width: 1199px) {
- .report-header {
- padding: 1.75rem;
- gap: 1.5rem;
- }
-
- .report-info {
- max-width: calc(100% - 220px);
- }
-
- .report-date {
- min-width: 200px;
- }
-}
-
-/* Десктопные экраны (1200px+) - адаптация header */
-@media (min-width: 1200px) {
- .report-header {
- padding: 2rem;
- gap: 2rem;
- }
-
- .report-info {
- max-width: calc(100% - 250px);
- }
-
- .report-date {
- min-width: 230px;
- }
-
- .report-title {
- font-size: 1.4rem;
- }
-
- .full-id {
- font-size: 0.9rem;
- }
-
- .date-value {
- font-size: 1rem;
- }
-}
-
-/* Ландшафтная ориентация на мобильных - адаптация header */
-@media (max-height: 450px) and (orientation: landscape) {
- .report-header {
- padding: 0.75rem 1rem;
- flex-direction: row;
- align-items: center;
- gap: 1rem;
- min-height: auto;
- }
-
- .report-info {
- flex: 1;
- }
-
- .report-title {
- font-size: 1.1rem;
- margin-bottom: 0.25rem;
- }
-
- .full-id-container {
- flex-direction: row;
- flex-wrap: wrap;
- gap: 0.25rem;
- }
-
- .full-id {
- font-size: 0.75rem;
- max-width: 200px;
- }
-
- .report-date {
- flex-shrink: 0;
- gap: 0.375rem;
- }
-
- .date-info {
- gap: 0.0625rem;
- }
-
- .date-label {
- font-size: 0.7rem;
- }
-
- .date-value {
- font-size: 0.8rem;
}
}
\ No newline at end of file