@use './variable.scss' as v; .chart-title { font-size: 18px; font-weight: 600; display: flex; align-items: center; color: v.$text-p; &::before { content: ''; width: 6px; height: 6px; background: v.$p-color; border-radius: 50%; margin-right: 10px; } } .protection-overview { --text-color: v.$text-p; /* background: linear-gradient(135deg, v.$p-color 50%, v.$s-color 100%); color: v.$white; */ color: var(--text-color); border-radius: 20px; padding: 25px; margin-bottom: 30px; position: relative; background: v.$white; box-shadow: 0 4px 20px v.$shadow-1; h3 { margin: 0 0 10px 0; font-size: 20px; } p { opacity: 0.9; font-size: 14px; margin-bottom: 20px; } .pie-char-text { fill: var(--text-color); font-size: 20px; text-anchor: middle; dominant-baseline: middle; } .protection-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; grid-template-areas: "aaa bbb ccc"; transition: all 0.3s; height: 124px; &.opened { grid-template-areas: "aaa ccc ccc" "bbb ccc ccc"; height: 270px; } } .total-files { grid-area: aaa; } .total-checks { grid-area: bbb; } .total-usage { grid-area: ccc; } .protection-stat { padding: 15px; border: 1px solid v.$b-color-2; border-radius: 12px; display: flex; flex-direction: column; justify-content: center; align-items: center; &.total-checks, &.total-files { display: flex; justify-content: center; gap: 0 10px; .protection-stat-value { padding-right: 10px; } .protection-stat-label { text-align: start; &::first-letter { text-transform: uppercase; } } } &.total-files { flex-direction: row; } &.total-checks { flex-direction: column; div { width: 110px; } } &.total-files.add-content { display: flex; justify-content: center; .protection-stat-value { margin-bottom: 0; } } &-row { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; } &-value { font-size: 28px; font-weight: 700; margin-bottom: 5px; color: v.$p-color; &.btn { user-select: none; transition: all 0.3s ease-in; padding: 5px; margin-top: 10px; &:hover { background: v.$shadow-1; } } } &-label { font-size: 14px; opacity: 0.9; text-align: center; } &-total-info { padding: 0px 0 10px; border-radius: 10; font-size: 15px; display: flex; justify-content: center; gap: 20px; } &-drop-down-list { position: absolute; left: 80%; top: 50%; max-height: 0; color: v.$white; font-size: 16px; border-radius: 20px; padding: 0; border: none; width: 200px; z-index: 1; font-weight: 500; background: #ffffff00; overflow: hidden; transition: all 0.5s ease; transform: translateY(-50%); &.opened { max-height: 500px; padding: 20px; box-shadow: 0 4px 20px #ffffff34; background: #7165b6; } a:hover { font-size: 17px; transition: all 0.3s ease; } } } .stacked-bar-chart-wrapper { display: flex; flex-direction: column; align-items: center; } .stacked-bar-chart { border-radius: 10; width: 100%; padding: 0 20px; display: flex; justify-content: center; padding-top: 20px; } &-switch { position: absolute; right: 10px; top: 10px; } &:has(.stacked-bar-chart) { padding: 0; } } .stats-wrapper { h3 { font-size: 20px; margin-bottom: 10px; } } .stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-bottom: 1px solid v.$b-color-1; align-items: center; overflow: auto; border-radius: 10px; .stats-item { border: 1px solid v.$b-color-1; border-right: none; border-left: none; border-bottom: none; display: flex; justify-content: center; align-items: center; height: 40px; background: #ffffff1a; &.stats-header { background-color: v.$bg-light; border-left: none; font-size: 16px; font-weight: 500; } &.first-column { font-size: 16px; justify-content: start; padding-left: 20px; font-weight: 500; border-left: 1px solid v.$b-color-1; ; .icon { margin-right: 10px; } &.images { color: v.$color-image; } &.videos { color: v.$color-video; } &.audio { color: v.$color-audio; } } &.last-column { border-right: 1px solid v.$b-color-1; ; } &.last-row { border-bottom: 1px solid v.$b-color-1; ; } &.second-row { border-top: none; } &.left-top-corner { border-top-left-radius: 10px; border-left: 1px solid v.$b-color-1; justify-content: start; padding-left: 20px; } &.right-top-corner { border-top-right-radius: 10px; } &.left-bottom-corner { border-bottom-left-radius: 10px; } &.right-bottom-corner { border-bottom-right-radius: 10px; } } } .upload-section { background: v.$white; border-radius: 20px; padding: 30px; box-shadow: 0 4px 20px v.$shadow-1; h3 { margin-bottom: 20px; color: v.$text-p; font-size: 20px; } .drag-drop-zone { border: 3px dashed v.$p-color; border-radius: .75rem; padding: 2rem; text-align: center; background: linear-gradient(135deg, #f0f9ff, #e0f2fe); margin-bottom: 20px; transition: all .2s ease-in-out; &.dragging { border-color: #3b82f6; background-color: #eff6ff; } &:hover { border-color: #764ba2; background: linear-gradient(135deg, #e0f2fe, #ddd6fe); transform: scale(1.01); } .icon { width: 70px; height: 70px; margin: 0 auto; color: v.$p-color; } h4 { color: v.$p-color; margin-bottom: 5px; font-size: 22px; } .description { color: v.$text-s; margin-bottom: 5px; text-align: center; } .btn-primary { background: v.$p-color; margin-bottom: 10px; margin-top: 20px; &:disabled { background: linear-gradient(135deg, v.$p-color-disabled, v.$s-color-disabled); cursor: default; } } } .selected-file { border-radius: 15px; background: v.$white; padding: 10px; border: 2px solid transparent; transition: all 0.3s ease-in; &.done { border-color: v.$green; } &-file-info { text-align: left; display: flex; justify-content: space-between; @media (max-width: 500px) { flex-direction: column; gap: 10px; } } .uploaded-image { border-radius: 0.25rem; max-height: calc(4px * 40); margin-inline: auto; margin-bottom: 20px; border: 1px solid #d1d5db; } .btn-convert { background: v.$white; color: v.$p-color; border: 2px solid v.$p-color; padding: 5px 15px; border-radius: 12px; cursor: pointer; font-weight: 600; font-size: 16px; transition: 0.3s; min-width: 120px; &.active { background: v.$green; border: 2px solid v.$green; color: v.$white; } } .btn-confirm { background: linear-gradient(45deg, v.$p-color 50%, v.$s-color 100%); color: v.$white; border: none; padding: 5px 15px; border-radius: 12px; cursor: pointer; font-weight: 600; font-size: 16px; transition: 0.3s; min-width: 160px; transform: translateY(0px); box-shadow: none; &.disabled { opacity: 0.5; &:hover { transform: none; } } } .btn-cancel { background: v.$white; color: v.$p-color; border: 2px solid v.$p-color; padding: 5px 15px; border-radius: 12px; cursor: pointer; font-weight: 600; font-size: 16px; transition: 0.3s; min-width: 120px; @media (max-width: 500px) { max-height: 34px; } } .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 25px v.$shadow-1; } .dropdown-wrapper { .dropdown-button { border: 2px solid v.$p-color; color: v.$p-color; min-width: 200px; } .dropdown-list { border: 1px solid v.$p-color; color: v.$p-color; li { &:first-child { border-radius: 12px 12px 0 0; } &:last-child { border-radius: 0 0 12px 12px; } } } } } .selected-file-action-panel { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; @media (max-width: 900px) { flex-direction: column; } } .selected-file-right-block { display: flex; flex-direction: column; gap: 10px; align-items: end; /* align-items: center; */ @media (max-width: 500px) { flex-direction: column-reverse; gap: 8px; } .upload-progress { font-weight: 500; font-size: 18px; margin-right: 16px; @media (max-width: 500px) { margin-right: 0px; } } } .selected-file-action-info { color: #374151; font-weight: 500; display: flex; gap: 10px; } .selected-file-wrapper { display: flex; flex-direction: column; gap: 16px; } } .page-row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; } .tanstak-table-wrapper { padding: 1.5rem; margin: 0 auto; .btn-modal { transition: all 0.3ms ease-in-out; border-radius: 10px; padding: 5px 20px; font-weight: 500; } :where(.divide-gray-200 > tr:last-child) { border-bottom: 1px solid var(--color-gray-200); } .tanstak-table-title { font-size: 18px; font-weight: 600; display: flex; align-items: center; color: #1f2937; margin-bottom: 20px; &::before { content: ''; width: 6px; height: 6px; background: #6366f1; border-radius: 50%; margin-right: 10px; } } .tanstak-table-filtres { display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: 1rem; padding-top: 0; padding-left: 0; padding-right: 0; @media (max-width: 1280px) { flex-direction: column; } @media (max-width: 975px) { flex-direction: column; align-items: start; } .table-filtres-wrapper { display: flex; flex-direction: row; gap: 1rem; width: auto; &.text-filter-search { flex-grow: 1; justify-content: space-between; } @media (max-width: 768px) { width: auto; } .table-filtres-item { display: flex; flex-direction: column; width: 12.5rem; } .table-filtres-label { font-size: 0.875rem; font-weight: 500; margin-bottom: 0.25rem; } .table-filtres-text-filter { background-color: #fff; border: 2px solid #e2e8f0; border-radius: 12px; justify-content: space-between; align-items: center; width: 100%; padding: 8px 16px; font-size: 14px; font-weight: 500; line-height: 1.25; transition: background-color .2s ease-in-out; display: flex; box-shadow: 0 1px 2px #0000000d; &:focus { outline-offset: 2px; outline: 2px solid #0000; box-shadow: 0 0 0 2px #6365f187; } } } } .tanstak-table-pagination { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; margin-top: 1.5rem; gap: 1rem; @media (min-width: 768px) { flex-direction: row; } .pagination-info { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; &-pages { color: v.$text-p; } &-files { color: v.$text-s; } } .pagination-controls { display: flex; align-items: center; gap: 0.5rem; .arrow { padding-left: 0.5rem; padding-right: 0.5rem; padding-top: 0.25rem; padding-bottom: 0.25rem; border: 2px solid #e2e8f0; border-radius: 10px; box-shadow: 0 1px 2px #0000000d; color: v.$p-color; .icon { width: 18px; } /* */ &:hover { background-color: v.$bg-light; } &:disabled { opacity: 0.5; cursor: not-allowed; } } &-pages { display: flex; align-items: center; gap: 0.25rem; button { border: 2px solid #e2e8f0; padding: 0.25rem 0.75rem; border-radius: 10px; color: v.$p-color; &.current { background-color: v.$p-color; color: v.$white; } &.other { &:hover { background-color: v.$bg-light; } } } } } } .tanstak-table-block { overflow-x: auto; border-radius: 0.5rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } .tanstak-table { width: 100%; /* table-layout: fixed; */ @media (max-width: 1200px) { width: 1200px; } >*+* { border-top: 1px solid v.$b-color-2; } > :not(:last-child) { border-bottom: 1px solid v.$b-color-2; } &-head { background-color: v.$bg-light; th { padding-left: 1rem; padding-right: 1rem; padding-top: 0.75rem; padding-bottom: 0.75rem; text-align: left; font-size: 0.75rem; font-weight: 500; color: v.$text-p; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; } .column { display: flex; align-items: center; justify-content: center; &.start { justify-content: start; } .sort-button { margin-left: 0.5rem; padding: 0.25rem; border-radius: 0.25rem; &:hover { background-color: v.$b-color-1; } } } } &-body { background-color: v.$white; >*+* { border-top: 1px solid v.$b-color-2; } tr { transition: background-color 0.2s ease-in-out; &:hover { background-color: v.$bg-light; /* background-color: v.$b-color-1; */ } } td { padding: 15px 16px; white-space: nowrap; &:first-child { /* padding-left: 15px; */ } &:last-child { /* padding-right: 15px; */ } &:has(.table-item-id) { width: 20px; } &:has(.table-item-file-name) { max-width: 300px; overflow: hidden; } } .table-item { color: v.$text-s; font-size: 14px; &-not-supported { font-size: 12px; } } .table-item-protected { color: #10b981; font-size: 12px; position: relative; margin-left: 5px; padding-left: 5px; &::before { content: '•'; color: v.$text-s; position: absolute; left: -5px; top: 50%; transform: translateY(-50%); } } .table-item-extension { text-transform: uppercase; font-size: 14px; } .table-item-status { padding: 2px 10px; border-radius: 15px; &.succeeded { background-color: #dcfce7; color: #166534; } } .actions { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; &-group { display: flex; gap: 5px; } button, a { padding: 4px 12px; font-size: 14px; line-height: 20px; border-radius: 8px; color: v.$white; cursor: pointer; transition: all 0.3s ease-in; .icon { width: 18px; } @media (max-width: 1200px) { padding: 4px; } } span { padding-left: 5px; } } .table-action-download, .table-action-delete, .table-action-view { display: flex; align-items: center; } .table-action-download { background-color: #3b72e0; &:hover { background-color: #2d56a8; } } .table-action-delete { background-color: #e80a14; &:hover { background-color: #9f0712; } } .table-action-view { background-color: #2b7fff; &:hover { background-color: #155dfc; } } } } } .file-stats-container { padding: 1rem; @media (min-width: 640px) { padding: 1.5rem; } } .file-stats-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr 1fr; gap: 1rem; @media (min-width: 640px) { grid-template-columns: repeat(1, 1fr); gap: 1.5rem; } @media (min-width: 1280px) { grid-template-columns: repeat(2, 1fr); } } .file-stat-card { display: flex; align-items: center; justify-content: space-between; border-radius: 1rem; border: 1px solid v.$b-color-2; background-color: v.$white; padding: 1rem; @media (min-width: 1280px) { padding-right: 1.25rem; } } .file-stat-content { display: flex; align-items: center; gap: 1rem; } .file-stat-icon-wrapper { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 0.75rem; &.image-icon { color: v.$color-image; } &.video-icon { color: v.$color-video; } &.audio-icon { color: v.$color-audio; } &.document-icon { color: v.$color-document; } } // Icon SVG .file-stat-icon { width: 24px; height: 24px; } // Text Info .file-stat-info { display: flex; flex-direction: column; } .file-stat-title { font-size: 0.875rem; font-weight: 500; color: v.$text-p; margin-bottom: 0.25rem; line-height: 1.25; } .file-stat-usage { font-size: 0.875rem; color: v.$text-s; display: block; line-height: 1.25; } // Details (Right Side) .file-stat-details { display: flex; flex-direction: column; align-items: flex-end; } .file-stat-count { font-size: 0.875rem; color: v.$text-s; display: block; margin-bottom: 0.25rem; text-align: right; line-height: 1.25; } .file-stat-size { font-size: 0.875rem; color: v.$text-s; display: block; text-align: right; line-height: 1.25; } @media (max-width: 639px) { .file-stat-card { flex-direction: column; align-items: flex-start; gap: 1rem; } .file-stat-details { align-items: flex-start; width: 100%; padding-left: 68px; } .file-stat-count, .file-stat-size { text-align: left; } } .referral-stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 24px; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 960px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 670px) { grid-template-columns: auto; } @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); } .stat-card { background: white; padding: 18px; border-radius: 16px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); text-align: center; transition: all 0.3s ease; position: relative; overflow: hidden; border: 2px solid #e2e8f0; &::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(102, 126, 234, 0.1), transparent); transition: left 0.5s ease; } &:hover { transform: translateY(-4px); box-shadow: 0 12px 35px rgba(99, 102, 241, 0.15); border-color: #667eea; &::before { left: 100%; } } .icon { font-size: 2rem; margin-bottom: 8px; display: inline-block; } .value { font-size: 1.5rem; font-weight: 700; margin-bottom: 6px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .label { font-size: 0.8rem; color: #64748b; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } } } .referral-link-section { background: white; padding: 30px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); margin-bottom: 30px; text-align: center; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); } .referral-link-input { display: flex; gap: 15px; max-width: 700px; margin: 20px auto; @media (max-width: 890px) { flex-wrap: wrap; justify-content: center; } #referral-link { display: flex; flex: 1; padding: 10px; border: 2px solid #e2e8f0; border-radius: 12px; font-size: 14px; background: #f8f9fa; color: #1e293b; font-weight: 500; align-items: center; justify-content: center; white-space: nowrap; @media (max-width: 490px) { font-size: 10px; } } .copy-btn { padding: 14px 28px; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 12px; font-weight: 700; cursor: pointer; transition: all 0.3s ease; white-space: nowrap; &:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4); } } } .referral-link-footer { margin-top: 15px; color: v.$text-s; } } .section-title { font-size: 1.5rem; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; &::before { content: ''; width: 8px; height: 8px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 50%; } } .commission-levels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 20px; @media (max-width: 960px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 540px) { grid-template-columns: auto; } .level-card { background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border: 2px solid #e2e8f0; border-radius: 16px; padding: 18px; text-align: center; transition: all 0.3s ease; position: relative; &:hover { transform: translateY(-4px); border-color: #667eea; box-shadow: 0 12px 30px rgba(102, 126, 234, 0.15); } &.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-color: #667eea; color: white; .level-requirement { color: rgba(255, 255, 255, 0.9); } .level-commission { color: white; background: none; -webkit-text-fill-color: white; } } .level-number { font-size: 1.5rem; font-weight: 800; margin-bottom: 6px; } .level-commission { font-size: 1.4rem; font-weight: 700; margin-bottom: 10px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); background-clip: text; -webkit-text-fill-color: transparent; } .level-subscribe { font-weight: 700; color: #1e293b; margin-bottom: 4px; } .level-requirement { font-size: 0.9rem; color: #64748b; margin-top: 8px; } } &-footer { margin-top: 25px; text-align: center; .progress-bar { background: #f3f4f6; height: 8px; border-radius: 4px; overflow: hidden; margin: 15px 0; .progress-fill { height: 100%; background: linear-gradient(90deg, #10b981, #059669); transition: width 0.3s ease; } } } } .income-and-payments { .earnings-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 30px; .earning-card { background: linear-gradient(135deg, #f0f9ff, #e0f2fe); padding: 25px; border-radius: 15px; border: 1px solid #bae6fd; &.success { background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: white; border-color: #bbf7d0; p { color: white; background: white; background-clip: text; } } p { font-size: 1.5rem; font-weight: 700; margin: 12px 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); background-clip: text; -webkit-text-fill-color: transparent; } } } .payout-form { background: #f8f9ff; padding: 25px; border-radius: 15px; border: 2px solid v.$b-color-1; .payout-wrapper { display: flex; gap: 15px; align-items: end; margin-top: 15px; @media (max-width: 880px) { flex-direction: column; align-items: center; .form-group { width: 100%; } } .form-group { flex: 1; margin-bottom: 0; label { display: block; margin-bottom: 8px; font-weight: 600; color: v.$text-s; } select, input { width: 100%; padding: 12px 16px; border: 2px solid v.$b-color-1; border-radius: 10px; font-size: 14px; transition: border-color 0.3s; } } .btn-success { padding: 14px 28px; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 12px; font-weight: 700; cursor: pointer; transition: all 0.3s ease; white-space: nowrap; height: 48px; &:disabled { background: linear-gradient(135deg, v.$p-color-disabled, v.$s-color-disabled); cursor: default; } } .dropdown-button { padding: 12px 16px; } } } } .setting-referral-program { .settings-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; background: white; border-radius: 20px; padding: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); margin-bottom: 30px; border: none; @media (max-width: 440px) { padding: 0; box-shadow: none; } .settings-form-wrapper { width: 100%; } .form-group { margin-bottom: 20px; label { display: block; margin-bottom: 8px; font-weight: 600; color: v.$text-s; @media (max-width: 440px) { font-size: 12px; } } input, select { width: 100%; padding: 12px 16px; border: 2px solid v.$b-color-1; border-radius: 10px; font-size: 14px; transition: border-color 0.3s; @media (max-width: 440px) { font-size: 12px; padding: 10px; } } } .checkbox-group { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; @media (max-width: 440px) { font-size: 14px; } } .btn-primary { color: white; padding: 12px 25px; border: none; border-radius: 10px; font-weight: 600; cursor: pointer; transition: all 0.3s; margin-top: 20px; } .card-type { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); text-transform: uppercase; font-size: 12px; font-weight: 600; } } } .dashboard-user-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-bottom: 40px; max-width: calc(100vw - var(--side-bar-width) - 60px); .stat-card.matches { --card-color-1: #3b82f6; --card-color-2: #60a5fa; } .stat-card.projects { --card-color-1: #6366f1; --card-color-2: #8b5cf6; } .stat-card.violations { --card-color-1: #ef4444; --card-color-2: #f87171; } .stat-card.storage { --card-color-1: #8b5cf6; --card-color-2: #a78bfa; } .stat-card.legal { --card-color-1: #f59e0b; --card-color-2: #fbbf24; } .stat-card { background: linear-gradient(135deg, var(--card-color-1), var(--card-color-2)); border-radius: 20px; padding: 32px 28px; color: white; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); transition: all 0.4s ease; cursor: pointer; position: relative; overflow: hidden; &:hover { transform: translateY(-8px); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2); } } .stat-value { font-size: 42px; font-weight: 800; line-height: 1; margin-bottom: 12px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .stat-label { font-size: 14px; font-weight: 500; opacity: 0.95; } .stat-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; position: relative; z-index: 1; } .stat-icon { .icon { transform: scale(1.5); } } @media (max-width: 1360px) { grid-template-columns: repeat(3, 1fr); } @media (max-width: 860px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 440px) { grid-template-columns: auto; max-width: calc(100vw - var(--side-bar-width) - 30px); } } .dashboard-main-grid { display: grid; grid-template-columns: 50% 50%; margin-bottom: 40px; width: 100%; max-width: calc(100vw - var(--side-bar-width) - 60px); .left-column { flex-direction: column; width: 100%; padding-right: 15px; } .right-column { width: 100%; flex-direction: column; padding-left: 15px; } @media (max-width: 1360px) { grid-template-columns: 1fr; gap: 30px; .left-column, .right-column { max-width: calc(100vw - var(--side-bar-width) - 60px); padding-right: 0; padding-left: 0; } } @media (max-width: 440px) { .left-column, .right-column { max-width: calc(100vw - var(--side-bar-width) - 30px); } } } .content-section { background: white; border-radius: 20px; padding: 32px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); .section-header { display: flex; justify-content: space-between; align-items: center; } .section-title { font-size: 22px; font-weight: 700; color: #1e293b; } .view-all-link { color: #6366f1; text-decoration: none; font-size: 14px; font-weight: 600; } } .user-files-list { display: flex; flex-direction: column; gap: 16px; .file-item { display: flex; align-items: center; gap: 16px; padding: 16px; background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border-radius: 14px; border: 1px solid #e2e8f0; transition: all 0.3s ease; &:hover { background: white; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); transform: translateX(4px); } } .file-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; &.violent { a { color: #fff; cursor: pointer; border-radius: 8px; padding: 8px; font-size: 14px; line-height: 20px; transition: all .3s ease-in; } } &.video { background: linear-gradient(135deg, #f3e8ff, #e9d5ff); } } .file-info { flex: 1; min-width: 0; } .file-name { font-weight: 600; color: #1e293b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; } .file-meta { font-size: 13px; color: #64748b; } .file-badge { padding: 4px 12px; border-radius: 6px; font-size: 12px; font-weight: 700; white-space: nowrap; &.protected { background: #d1fae5; color: #065f46; } } } .dashboard-platforms-list { display: flex; flex-direction: column; gap: 12px; .platform-item { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: linear-gradient(135deg, #f8fafc, #f1f5f9); border-radius: 12px; transition: all 0.3s ease; &:hover { background: white; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } } .platform-name { display: flex; align-items: center; gap: 10px; font-weight: 600; color: #1e293b; } .platform-count { font-weight: 700; color: #6366f1; font-size: 16px; } } .dashboard-files-info { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 40px; width: 100%; max-width: calc(100vw - var(--side-bar-width) - 60px); .type-card.images { --card-color-1: #ff6b8a; --card-color-2: #ff8da1; } .type-card.videos { --card-color-1: #8b5cf6; --card-color-2: #a78bfa; } .type-card.audio { --card-color-1: #10b981; --card-color-2: #34d399; } .type-card.scripts { --card-color-1: #f59e0b; --card-color-2: #fbbf24; } .type-card { background: linear-gradient(135deg, var(--card-color-1), var(--card-color-2)); border-radius: 20px; padding: 32px 28px; color: white; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); transition: all 0.4s ease; cursor: pointer; position: relative; overflow: hidden; &::before { content: ''; position: absolute; top: -50%; right: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255, 255, 255, 0.274) 0%, transparent 70%); opacity: 0; transition: opacity 0.4s ease; } &:hover { opacity: 1; transform: translateY(0px); transition: 0.5s; &::before { opacity: 1; } } .stat-type { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; opacity: 0.9; margin-bottom: 16px; position: relative; z-index: 1; } .stat-value { font-size: 48px; font-weight: 800; margin-bottom: 12px; position: relative; z-index: 1; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .stat-label { font-size: 14px; opacity: 0.95; margin-bottom: 16px; position: relative; z-index: 1; } .type-card-stats { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.2); position: relative; z-index: 1; } .type-card-stat-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; } .type-card-stat-label { opacity: 0.9; font-weight: 500; } .type-card-stat-value { font-weight: 700; font-size: 14px; } } @media (max-width: 1360px) { grid-template-columns: repeat(2, 1fr); } @media (max-width: 440px) { grid-template-columns: auto; max-width: calc(100vw - var(--side-bar-width) - 30px); } } .dashboard-limits-section { background: white; border-radius: 20px; padding: 32px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; height: 100%; .limits-grid { display: flex; flex-direction: column; gap: 24px; margin-top: 20px; flex: 1; } .limit-item { display: flex; flex-direction: column; gap: 12px; } .limit-header { display: flex; justify-content: space-between; align-items: center; } .limit-label { font-size: 14px; font-weight: 600; color: #64748b; display: flex; align-items: center; gap: 8px; } .limit-value { font-size: 18px; font-weight: 700; color: #1e293b; } .progress-bar-container { width: 100%; height: 12px; background: #e2e8f0; border-radius: 6px; overflow: hidden; position: relative; } .progress-bar { height: 100%; border-radius: 6px; transition: width 0.5s ease, background 0.3s ease; position: relative; overflow: hidden; &.low { background: linear-gradient(90deg, #10b981, #34d399); } &.medium { background: linear-gradient(90deg, #f59e0b, #fbbf24); } } .progress-bar-value { text-align: right; font-size: 12px; font-weight: 600; color: #64748b; margin-top: 4px; } } .dahboard-geography-section { background: white; border-radius: 20px; padding: 32px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; height: 100%; .geography-grid { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; flex: 1; } .country-item { padding: 10px 14px; background: linear-gradient(135deg, #f8fafc, #f1f5f9); border-radius: 12px; transition: all 0.3s ease; cursor: pointer; position: relative; overflow: hidden; display: grid; grid-template-columns: 50px 1fr 70px; align-items: center; gap: 12px; &:hover { background: white; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); transform: translateY(-1px); } &::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #6366f1, #8b5cf6); } } .country-flag { font-size: 28px; text-align: center; } .country-info { display: flex; flex-direction: column; gap: 4px; } .country-name { font-size: 14px; font-weight: 600; color: #1e293b; } .country-bar { width: 100%; height: 5px; background: #e2e8f0; border-radius: 2.5px; overflow: hidden; } .country-bar-fill { height: 100%; background: linear-gradient(90deg, #6366f1, #8b5cf6); border-radius: 2.5px; transition: width 0.5s ease; } .country-stats { text-align: right; } .country-violations { font-size: 20px; font-weight: 800; color: #6366f1; line-height: 1; } .country-percent { font-size: 10px; color: #64748b; font-weight: 600; margin-top: 2px; } } .dashboard-last-check { background: white; border-radius: 20px; padding: 20px 28px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); display: flex; justify-content: space-between; align-items: center; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { flex-direction: column; max-width: calc(100vw - var(--side-bar-width) - 30px); } .last-check-title { font-size: 14px; font-weight: 600; color: #64748b; margin-bottom: 6px; } .last-check-date { font-size: 20px; font-weight: 700; color: #1e293b; } .last-check-info { flex: 1; } .last-check-actions { display: flex; gap: 12px; } .btn-report { padding: 10px 20px; background: white; color: #6366f1; border: 2px solid #6366f1; border-radius: 12px; font-weight: 600; font-size: 14px; cursor: pointer; transition: all 0.3s ease; &:hover { background: #6366f1; color: white; } } .btn-new-search { padding: 10px 20px; background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; border: none; border-radius: 12px; font-weight: 600; font-size: 14px; cursor: pointer; transition: all 0.3s ease; &:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4); } } } .violations-carousel { display: flex; flex-direction: column; width: 100%; .swiper-horizontal { width: 100%; } .violation-slide { .violation-image-container { width: 100%; border-radius: 16px; overflow: hidden; margin-bottom: 16px; background: linear-gradient(135deg, #f1f5f9, #e2e8f0); display: flex; align-items: center; justify-content: center; position: relative; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .violation-image { width: 100%; max-width: 200px; object-fit: contain; background: white; } .violation-badge { position: absolute; top: 12px; right: 12px; background: linear-gradient(135deg, #ef4444, #dc2626); color: white; padding: 6px 14px; border-radius: 8px; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4); } .violation-status-badge { position: absolute; top: 12px; left: 12px; background: linear-gradient(135deg, #10b981, #059669); color: white; padding: 6px 14px; border-radius: 8px; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; } .violation-content { flex: 1; display: flex; flex-direction: column; gap: 12px; width: 100%; .violation-title-row { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 2px solid #e2e8f0; } .violation-filename { font-size: 16px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 8px; } .violation-type-badge { padding: 4px 10px; border-radius: 6px; font-size: 10px; font-weight: 600; text-transform: uppercase; background: #dbeafe; color: #1e40af; } } .violation-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; .violation-info-item { padding: 10px 12px; background: linear-gradient(135deg, #f8fafc, #f1f5f9); border-radius: 10px; display: flex; flex-direction: column; gap: 4px; .violation-info-value { font-size: 13px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 6px; } .violation-info-label { font-size: 10px; font-weight: 600; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; display: flex; align-items: center; gap: 4px; } } } .violation-actions-row { display: flex; gap: 10px; margin-top: auto; } .btn-visit-site { flex: 1; padding: 12px 5px; background: white; color: #3b82f6; border: 2px solid #3b82f6; border-radius: 10px; font-weight: 600; font-size: 13px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 8px; &:hover { background: #3b82f6; color: white; } } .violation-action { flex: 1; padding: 12px 5px; background: linear-gradient(135deg, #ef4444, #dc2626); color: white; border: none; border-radius: 10px; font-weight: 600; font-size: 13px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 8px; &:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4); } } } .swiper-slide { width: 100% !important; } } .protection-statistic { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); } &-stat-card { background: white; padding: 1.5rem; border-radius: 12px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07); border: 2px solid #f3f4f6; text-align: center; transition: all 0.3s; &:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(102, 126, 234, 0.15); border-color: #667eea; } } &-stat-number { font-size: 2rem; font-weight: 700; color: v.$p-color; margin-bottom: 0.5rem; } &-stat-label { font-size: 0.9rem; color: #6b7280; font-weight: 500; } } .my-content-stats-overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 30px; max-width: calc(100vw - var(--side-bar-width) - 30px); @media (max-width: 1400px) { grid-template-columns: repeat(2, 1fr); } .stat-card.files { --card-color-1: #ff6b8a; --card-color-2: #ff8da1; } .stat-card.protected { --card-color-1: #8b5cf6; --card-color-2: #a78bfa; } .stat-card.checks { --card-color-1: #10b981; --card-color-2: #34d399; } .stat-card.storage { --card-color-1: #f59e0b; --card-color-2: #fbbf24; } .stat-card { background: linear-gradient(135deg, var(--card-color-1), var(--card-color-2)); border-radius: 20px; padding: 32px 28px; color: white; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); transition: all 0.4s ease; cursor: pointer; position: relative; overflow: hidden; &:hover { transform: translateY(-8px); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2); } } .stat-icon { .icon { transform: scale(1.5); } } .stat-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; position: relative; z-index: 1; } .stat-value { font-size: 32px; font-weight: 700; color: white; margin-bottom: 6px; position: relative; z-index: 1; } .stat-label { font-size: 13px; color: white; opacity: 0.9; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; position: relative; z-index: 1; } } .violations-my-cases-section { background: white; border-radius: 20px; padding: 32px; margin-bottom: 24px; box-shadow: 0 10px 40px rgba(99, 102, 241, 0.1); max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); } .my-cases-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 3px solid #f1f5f9; } .my-cases-title { font-size: 1.5rem; font-weight: 800; color: #1e293b; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); background-clip: text; -webkit-text-fill-color: transparent; } .btn-outline-small { background: transparent; color: #667eea; border: 2px solid #667eea; padding: 10px 20px; border-radius: 10px; font-weight: 700; font-size: 0.9rem; text-decoration: none; transition: all 0.3s ease; &:hover { background: #667eea; color: white; transform: translateY(-2px); } } .cases-carousel-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; @media (max-width: 890px) { grid-template-columns: auto; } .case-card { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border: 2px solid #e2e8f0; border-radius: 16px; padding: 24px; transition: all 0.3s ease; cursor: pointer; position: relative; overflow: hidden; &:hover::before { opacity: 1; } &::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); opacity: 0; transition: opacity 0.3s ease; border-radius: 16px 0 0 16px; } .case-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; gap: 12px; .case-number { font-weight: 800; color: #667eea; font-size: 0.85rem; } } .case-card-title { font-size: 0.95rem; font-weight: 600; color: #1e293b; margin-bottom: 16px; min-height: 50px; } .case-card-meta { font-size: 0.9rem; color: #64748b; line-height: 1.8; margin-bottom: 16px; } .case-card-actions { display: flex; justify-content: flex-end; } .btn-primary-small { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 10px 20px; border-radius: 10px; font-weight: 700; font-size: 0.85rem; text-decoration: none; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 8px; } .status-assigned { background: #fef3c7; color: #d97706; } .status-submitted { background: #dbeafe; color: #1e40af; } .case-status-badge { padding: 4px 10px; border-radius: 20px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; } } } } .violation-check-all-section { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 16px; padding: 20px 24px; margin-bottom: 24px; color: white; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); flex-direction: column; } .check-all-left { flex: 1; position: relative; z-index: 2; } .check-all-icon { width: 48px; height: 48px; background: rgba(255, 255, 255, 0.2); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; } .check-all-title { font-size: 1.3rem; font-weight: 700; } .check-all-description { opacity: 0.95; font-size: 0.95rem; } .check-all-btn { background: rgba(255, 255, 255, 0.2); border: 2px solid rgba(255, 255, 255, 0.3); color: white; padding: 14px 32px; border-radius: 12px; font-weight: 700; font-size: 1rem; cursor: pointer; transition: all 0.3s ease; position: relative; z-index: 2; white-space: nowrap; &:hover { background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } } } .violations-table-section { margin-bottom: 24px; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 440px) { max-width: calc(100vw - var(--side-bar-width) - 30px); } .section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; .section-title { font-size: 1.3rem; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 12px; &::before { content: ''; width: 8px; height: 8px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 50%; display: inline-block; } } } .violations-table-container { background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); border: 2px solid #e2e8f0; overflow: auto; .violations-table { width: 100%; border-collapse: collapse; thead { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; } th { padding: 12px 16px; text-align: left; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; border-right: 1px solid rgba(255, 255, 255, 0.2); &:last-child { border-right: none; } } tbody { tr { border-bottom: 1px solid #f1f5f9; transition: all 0.2s ease; &:hover { background: linear-gradient(90deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%); } } td { padding: 12px 16px; font-size: 0.85rem; color: #1e293b; vertical-align: middle; } } .violation-preview-cell { width: 60px; } .violation-preview { width: 50px; height: 50px; border-radius: 8px; overflow: hidden; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; img { width: 100%; height: 100%; object-fit: cover; } } .violation-filename-cell { min-width: 180px; max-width: 250px; } .violation-filename { font-weight: 600; color: #1e293b; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; } .violation-date { font-size: 0.75rem; color: #64748b; } .violation-url-cell { max-width: 300px; } .violation-link { color: #667eea; text-decoration: none; word-break: break-all; font-size: 0.8rem; display: -webkit-box; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .violation-stats-cell { white-space: nowrap; } .confidence-badge { display: inline-flex; align-items: center; gap: 4px; background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%); padding: 4px 10px; border-radius: 12px; font-weight: 700; color: #1e40af; font-size: 0.75rem; margin-bottom: 4px; } .sources-count { font-size: 0.75rem; color: #64748b; display: flex; align-items: center; gap: 4px; } .btn-dmca-complaint { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 16px; background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border: 2px solid #fbbf24; border-radius: 10px; color: #92400e; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; box-shadow: 0 2px 4px rgba(251, 191, 36, 0.15); } .violation-actions-cell { width: 120px; } .violation-actions { display: flex; gap: 6px; justify-content: flex-end; } .action-icon-btn { width: 32px; height: 32px; border-radius: 8px; border: 2px solid #e2e8f0; background: white; font-size: 1rem; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; } } } } .search-grid { display: grid; grid-template-columns: 1fr 300px; gap: 24px; margin-bottom: 24px; max-width: calc(100vw - var(--side-bar-width) - 60px); @media (max-width: 900px) { grid-template-columns: auto; max-width: calc(100vw - var(--side-bar-width) - 30px); } } .search-info { background: #f0f9ff; border: 1px solid #bfdbfe; border-radius: 12px; padding: 16px; margin-bottom: 20px; &-title { font-weight: 600; color: #1e40af; margin-bottom: 8px; } &-text { color: #3730a3; font-size: 14px; } } .btn-primary.btn-search { background: linear-gradient(135deg, #667eea 50%, #764ba2 100%); border: none } .global-search-section { background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%); padding: 0; box-shadow: 0 10px 40px rgba(99, 102, 241, 0.1); border-radius: 20px; position: relative; overflow: hidden; transform: translateY(0); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); .global-search-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 24px; color: white; position: relative; overflow: hidden; .global-search-title { font-size: 1.4rem; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 16px; position: relative; z-index: 2; } .global-search-badge { background: rgba(255, 255, 255, 0.9); color: #667eea; padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; animation: pulse-glow 2s ease-in-out infinite; } } .global-search-content { padding: 24px; border: 3px solid transparent; border-radius: 0 0 20px 20px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%) border-box; background-clip: padding-box, border-box; .global-search-info { background: linear-gradient(135deg, #f0f4ff 0%, #e0e7ff 100%); border: 2px solid #c7d2fe; border-radius: 16px; padding: 20px; margin-bottom: 24px; position: relative; overflow: hidden; .global-search-info-title { font-weight: 700; color: #3730a3; margin-bottom: 12px; display: flex; align-items: center; gap: 10px; font-size: 16px; position: relative; z-index: 2; } .global-search-info-text { color: #4338ca; font-size: 14px; line-height: 1.6; position: relative; z-index: 2; } } .search-counter { display: flex; align-items: center; justify-content: space-between; background: white; border: 2px solid #e5e7eb; border-radius: 12px; padding: 16px 20px; margin-bottom: 20px; transition: all 0.3s ease; .counter-info { display: flex; align-items: center; gap: 12px; } .progress-bar { width: 80px; height: 8px; background: #f3f4f6; border-radius: 4px; overflow: hidden; position: relative; .progress-fill { height: 100%; background: linear-gradient(135deg, #10b981 0%, #059669 100%); border-radius: 4px; transition: all 0.5s ease; position: relative; overflow: hidden; } } } .global-search-btn { width: 100%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 16px 24px; border-radius: 12px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); display: flex; align-items: center; justify-content: center; gap: 12px; position: relative; overflow: hidden; &:disabled { opacity: 0.5; cursor: default; } &:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 12px 35px rgba(102, 126, 234, 0.4); } } .global-loading { display: none; text-align: center; padding: 40px; background: #f8fafc; border-radius: 16px; margin: 20px 0; &.show { display: block; } .global-spinner { width: 50px; height: 50px; margin: 0 auto 20px; position: relative; &::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 4px solid #e5e7eb; border-top: 4px solid #667eea; border-radius: 50%; animation: spin 1s linear infinite; } &::after { content: ''; position: absolute; top: 8px; left: 8px; width: calc(100% - 16px); height: calc(100% - 16px); border: 2px solid transparent; border-top: 2px solid #764ba2; border-radius: 50%; animation: spin 2s linear infinite reverse; } } .global-loading-text { color: #4b5563; font-weight: 500; font-size: 16px; } } .global-result { display: none; margin: 20px 0; animation: slideUp 0.5s ease; &.show { display: block; } .global-result-card { background: white; border: 2px solid #e5e7eb; border-radius: 16px; overflow: hidden; transition: all 0.3s ease; .global-result-header { background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: white; padding: 16px 20px; font-weight: 600; display: flex; align-items: center; gap: 12px; } .global-result-content { padding: 24px; } .global-result-item { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 30px; .global-result-image { width: 140px; height: 140px; border-radius: 12px; overflow: hidden; flex-shrink: 0; background: #f3f4f6; display: flex; align-items: center; justify-content: center; position: relative; border: 2px solid #e5e7eb; transition: all 0.3s ease; img { width: 100%; height: 100%; object-fit: cover; cursor: pointer; transition: all 0.3s ease; } } .global-result-info { flex: 1; } .global-result-title { font-weight: 600; color: #1e293b; margin-bottom: 12px; font-size: 18px; line-height: 1.4; } .global-result-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; font-size: 14px; } .global-result-size, .global-result-host { display: flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 8px; font-weight: 500; } .global-result-size { background: #f1f5f9; color: #64748b; } .global-result-host { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; } .global-result-passage { color: #6b7280; font-size: 14px; line-height: 1.6; margin-bottom: 20px; padding: 16px; background: #f8fafc; border-radius: 12px; border-left: 4px solid #667eea; } .global-result-url { color: #667eea; text-decoration: none; font-size: 14px; font-weight: 500; word-break: break-all; display: block; padding: 12px 16px; background: #f8fafc; border-radius: 10px; transition: all 0.3s ease; border: 1px solid #e5e7eb; position: relative; overflow: hidden; &:hover { background: #eff6ff; border-color: #667eea; text-decoration: none; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.15); } } } } } .global-no-result { text-align: center; padding: 40px 20px; background: #f8fafc; border-radius: 16px; margin: 20px 0; .btn-search { margin-top: 40px; } } .global-error { background: #fef2f2; border: 2px solid #fecaca; border-radius: 12px; padding: 20px; color: #991b1b; margin: 20px 0; } } } @keyframes slideUp { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-20px); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 5px rgba(255, 255, 255, 0.5); } 50% { box-shadow: 0 0 20px rgba(255, 255, 255, 0.8); } } .user-file-search-results { background: white; border-radius: 16px; padding: 24px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); margin-bottom: 20px; .results-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; .results-title { font-size: 1.3rem; font-weight: 600; color: #1e293b; } } .empty-results { text-align: center; padding: 60px 20px; color: #64748b; &-hint { margin-top: 16px; padding: 12px; background: #f0f9ff; border-radius: 8px; font-size: 14px; } } .results-list { display: flex; flex-direction: column; gap: 16px; .result-item { border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px; transition: all 0.2s ease; &:hover { border-color: #6366f1; box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15); } .result-header { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; } .result-preview { width: 60px; height: 60px; border-radius: 10px; overflow: hidden; position: relative; flex-shrink: 0; background: #f3f4f6; display: flex; align-items: center; justify-content: center; img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.3s ease; } } .result-info { flex: 1; } .result-filename { font-weight: 600; color: #1e293b; margin-bottom: 4px; } .result-details { color: #64748b; font-size: 14px; } .similarity-score { text-align: center; min-width: 80px; } .similarity-percentage { font-size: 1.5rem; font-weight: 700; color: #10b981; margin-bottom: 4px; } .similarity-label { font-size: 12px; color: #64748b; text-transform: uppercase; } .result-badges { display: flex; gap: 8px; margin-top: 12px; margin-bottom: 12px; flex-wrap: wrap; .badge { padding: 4px 8px; border-radius: 6px; font-size: 12px; font-weight: 500; } .badge-protected { background: #d1fae5; color: #065f46; } .badge-not-protected { background: v.$b-color-2; } } .result-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; .btn-secondary { background: #6b7280; color: white; font-size: 12px; padding: 6px 12px; &:hover { background: #4b5563; } } .btn-success { background: #10b981; color: white; font-size: 12px; padding: 6px 12px; &:hover { background: #059669; } } } } } } .modal-window-view-file { border-radius: 20px; overflow: hidden; &-content { padding: 20px; max-height: calc(90vh - 80px); overflow-y: auto; background: v.$white; &-wrapper { height: 100%; max-height: 80vh; &.image { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } } .image-section { display: flex; align-items: center; justify-content: center; min-height: 400px; background: #fafafa; border-radius: 12px; position: relative; } .image-container { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); } } .file-info-wrapper { display: flex; gap: 15px; margin-bottom: 15px; @media (max-width: 875px) { flex-direction: column; } } .file-info-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 0; overflow: hidden; min-width: 400px; width: 100%; @media (max-width: 470px) { min-width: auto; } .info-header { background: linear-gradient(0deg, #6366f1 50%, #8b5cf6 130%); color: white; padding: 16px 20px; border-bottom: 1px solid #e2e8f0; h4 { margin: 0; font-size: 16px; font-weight: 600; } } .info-item { padding: 12px 20px; border-bottom: 1px solid #f1f5f9; width: 100%; &.image { text-align: center; max-width: 200px; display: flex; margin: 0 auto; img { width: 100%; } } } .info-label { font-size: 14px; color: #64748b; font-weight: 500; flex-shrink: 0; } .info-value { font-weight: 600; color: #1e293b; text-align: left; word-break: break-word; /* max-width: 150px; */ } .status-badges { padding: 12px 20px; border-bottom: 1px solid #f1f5f9; } } } } .file-info-modal-window { width: 50vw; min-width: 400px; &-close-button { position: absolute; top: 15px; right: 20px; background: none; border: none; font-size: 24px; cursor: pointer; color: #64748b; } &-section { margin-bottom: 25px; } &-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; } &-item { background: v.$bg-light; padding: 15px; border-radius: 8px; } &-title { font-weight: 600; color: v.$text-p; } &-content { color: v.$text-s; } } .section-add-file { position: relative; .section-drop-down-list { position: absolute; left: 80%; top: 50%; max-height: 0; color: v.$text-p; font-size: 16px; border-radius: 20px; padding: 0; border: none; width: fit-content; z-index: 2; font-weight: 500; background: #ffffff00; overflow: hidden; transition: all 0.5s ease; transform: translateY(-50%); &.opened { max-height: 500px; padding: 15px 10px; box-shadow: 0 4px 20px #00000014; background: v.$white; } a { white-space: nowrap; color: v.$p-color; opacity: 0.7; } a:hover { transition: all 0.3s ease; opacity: 1; } } } .violations-table { background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #f1f5f9; .violation-main { flex: 1; display: flex; align-items: center; gap: 15px; } .violation-card { padding: 20px 25px; border-bottom: 1px solid #f1f5f9; transition: all 0.3s ease; display: flex; align-items: center; justify-content: space-between; gap: 15px; &:hover { background: linear-gradient(90deg, #f8fafc 0%, #f1f5f9 100%); } } .violation-icon-wrapper { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; &.photo { background: linear-gradient(135deg, #dbeafe, #bfdbfe); img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; } } } .btn-primary { padding: 10px 20px; } .violation-content-info { flex: 1; } .violation-filename { font-weight: 600; color: #1e293b; font-size: 15px; margin-bottom: 5px; display: block; } .violation-meta { display: flex; gap: 15px; font-size: 13px; color: #64748b; flex-wrap: wrap; } .violation-meta-item { display: flex; align-items: center; gap: 5px; } .violation-status-badge { padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; background: linear-gradient(135deg, #fee2e2, #fecaca); color: #dc2626; white-space: nowrap; } .violation-sources-badge { padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; background: linear-gradient(135deg, #fef3c7, #fde68a); color: #d97706; white-space: nowrap; } } .search-sidebar { display: flex; flex-direction: column; gap: 20px; } .supported-formats, .stats-search, .recent-searches { background: v.$white; border-radius: 12px; padding: 20px; box-shadow: 0 4px 6px v.$shadow-1; .formats-title, .stats-title, .recent-title { font-weight: 600; color: v.$text-p; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } .format-group { margin-bottom: 16px; } .format-type { font-weight: 500; color: v.$text-p; margin-bottom: 8px; display: flex; align-items: center; gap: 8px; &.image { svg { color: v.$color-image; } } &.audio { svg { color: v.$color-audio; } } &.video { svg { color: v.$color-video; } } &.document { svg { color: v.$color-document; } } } .format-list { color: v.$text-s; font-size: 14px; line-height: 1.5; text-transform: uppercase; } .stat-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid v.$b-color-2; &-header { display: flex; align-self: center; gap: 5px; &.image { svg { color: v.$color-image; } } &.audio { svg { color: v.$color-audio; } } &.video { svg { color: v.$color-video; } } &.document { svg { color: v.$color-document; } } } &:last-child { border-bottom: none; } .stat-label { color: v.$text-s; font-size: 14px; opacity: 0.9; position: relative; z-index: 1; padding-top: 2px; } .stat-value { font-weight: 600; color: v.$text-p; font-size: 32px; margin-bottom: 5px; position: relative; z-index: 1; } } .recent-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid v.$b-color-2; .recent-type { color: v.$text-p; font-size: 14px; display: flex; &.image { svg { color: v.$color-image; } } &.audio { svg { color: v.$color-audio; } } &.video { svg { color: v.$color-video; } } &.document { svg { color: v.$color-document; } } } .recent-date { color: v.$text-s; font-size: 12px; } } } .pagination-wrapper { display: flex; gap: 5px; margin-top: 10px; .pagination-button { border: 2px solid #e2e8f0; padding: 0.25rem 0.75rem; border-radius: 10px; color: v.$p-color; cursor: pointer; &.current-page { background-color: v.$p-color; color: v.$white; } &:hover { background-color: v.$bg-light; } } } .loading-animation { display: block; text-align: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); .global-spinner { display: block; width: 24px; height: 24px; margin: 0 auto; position: relative; &::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 4px solid #e5e7eb; border-top: 4px solid #667eea; border-radius: 50%; animation: spin 1s linear infinite; } &.large { width: 80px; height: 80px; &::before { border: 10px solid #e5e7eb; border-top: 10px solid #667eea; } } } } .modal-window-confirm-payment { background: white; border-radius: 20px; max-width: 480px; margin: 20px; text-align: center; position: relative; &-title { color: #1e293b; margin-bottom: 12px; font-size: 24px; } &-tariff { color: #1e293b; margin-bottom: 8px; font-size: 20px; } &-description { color: #64748b; margin-bottom: 12px; font-size: 16px; } &-price { background: #f8fafc; padding: 12px; border-radius: 10px; margin-bottom: 30px; div { &:first-child { font-size: 26px; font-weight: 700; color: #6366f1; } &:last-child { color: #64748b; font-size: 16px; } } } .btn-primary { width: 100%; padding: 12px 18px; border: none; border-radius: 12px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; &.btn-confirm { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; } &.btn-cancel { background: transparent; border: 2px solid #6366f1; color: #6366f1; &:disabled { opacity: 0.5; } } &.btn-confirm:disabled, .btn-cancel:disabled { opacity: 0.6; cursor: not-allowed; pointer-events: none; } .btn-loading { position: relative; /* Можно добавить анимацию загрузки */ } .btn-loading::after { content: ''; position: absolute; width: 16px; height: 16px; top: 50%; right: 10px; transform: translateY(-50%); border: 2px solid transparent; border-top-color: #ffffff; border-radius: 50%; animation: button-loading-spinner 1s ease infinite; } @keyframes button-loading-spinner { from { transform: translateY(-50%) rotate(0turn); } to { transform: translateY(-50%) rotate(1turn); } } } } .monitoring { &-title { font-size: 22px; font-weight: 800; margin-bottom: 15px; } &-status { margin-bottom: 15px; } &-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; .btn-primary { width: 100%; color: v.$p-color; border: 2px solid v.$p-color; cursor: pointer; background: #fff; &.active { background: v.$green; border: 2px solid v.$green; color: v.$white; } } } } .violation-details { .page-title-color-frame { display: flex; gap: 10px; .violation-page-icon { width: 80px; height: 80px; border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 40px; background: rgba(255, 255, 255, 0.2); backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.3); overflow: hidden; .icon { width: 100%; height: 100%; } } .violation-page-info { display: flex; gap: 10px; } } .card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #e2e8f0; } .info-row { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f8fafc; } .info-label { color: #64748b; font-size: 14px; } .info-value { color: #1e293b; font-weight: 600; font-size: 14px; text-align: right; } .violation-source { margin-top: 15px; &-title { font-size: 14px; color: #64748b; margin-bottom: 8px; font-weight: 600; } .url-display { background: #f8fafc; padding: 12px; border-radius: 8px; border: 1px solid #e2e8f0; margin-top: 10px; word-break: break-all; .url-link { color: #6366f1; text-decoration: none; font-weight: 600; } } } .notes-section { background: #f8fafc; padding: 15px; border-radius: 12px; margin-top: 15px; border: 1px solid #e2e8f0; text-align: left; .notes-title { font-size: 14px; font-weight: 600; color: #1e293b; margin-bottom: 10px; text-align: left; } .notes-content { font-size: 13px; color: #475569; line-height: 1.6; white-space: pre-line; max-height: 200px; overflow-y: auto; text-align: left; word-wrap: break-word; margin: 0; padding: 0; } } .stats-mini-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-bottom: 20px; .stat-mini-card { background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); padding: 15px; border-radius: 12px; text-align: center; border: 1px solid #e2e8f0; } .stat-mini-value { font-size: 28px; font-weight: 700; color: #1e293b; margin-bottom: 5px; } .stat-mini-label { font-size: 12px; color: #64748b; } } .btn-small { padding: 6px 12px; border-radius: 8px; font-size: 12px; font-weight: 600; border: none; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-block; &:disabled { opacity: 0.6; } } .btn-primary-small { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; &:hover { box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4); } } .btn-secondary-small { background: #f1f5f9; color: #64748b; &:hover { background: #e2e8f0; } } .sources-list-wrapper { display: grid; grid-template-columns: 1fr 3fr; gap: 10px; height: 80vh; .sources-list { display: flex; flex-direction: column; gap: 15px; .source-card { /* background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border-radius: 12px; border: 1px solid #e2e8f0; */ background: #fff; border: 1px solid #f3f4f6; border-radius: 20px; box-shadow: 0 4px 20px #0000001a; transition: all 0.3s ease; padding: 15px; height: calc(16vh - 12px); cursor: pointer; display: flex; justify-content: space-between; /* flex-direction: column; */ opacity: 0.75; &:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1); border-color: #cbd5e1; } &.selected { opacity: 1; border: 1px solid #6366f1; background: linear-gradient(180deg, #ffffff 0%, #e6eaf3 100%); } } .source-header { display: flex; align-items: start; justify-content: space-between; margin-bottom: 10px; gap: 5px; &-right { display: flex; flex-direction: column; align-items: end; } } .source-image { max-width: 120px; width: 100%; } .source-url { color: #6366f1; font-weight: 600; font-size: 14px; text-decoration: none; word-break: break-all; flex: 1; } .source-meta { gap: 15px; font-size: 12px; color: #64748b; margin-bottom: 10px; flex-wrap: wrap; margin-right: 5px; } .source-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; } } } .source-status { padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 600; white-space: nowrap; margin-bottom: 5px; user-select: none; &.new, &.created { background: v.$status-new; } &.showed { background-color: v.$b-color-1; } &.legal_in_work, &.complaint_in_work { background: v.$status-in-work; color: v.$white; } &.authorized_use { background: v.$authorized-use; } } .btn-action { flex: 1; width: 100%; padding: 12px 20px; border-radius: 12px; font-weight: 600; border: none; cursor: pointer; transition: all 0.3s ease; font-size: 14px; max-width: 300px; &:disabled { opacity: 0.5; } } .btn-case { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; margin-bottom: 20px; &:hover { transform: translateY(-2px); } } .btn-success { background: linear-gradient(135deg, #10b981, #059669); color: white; max-width: 200px; padding: 6px 10px; &:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4); } } /* .btn-warning { background: linear-gradient(135deg, #f59e0b, #d97706); color: white; } .btn-secondary { background: linear-gradient(135deg, #64748b, #475569); color: white; &:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(100, 116, 139, 0.4); } } */ .violation-info { background: #fff; border: 1px solid #f3f4f6; border-radius: 20px; box-shadow: 0 4px 20px #0000001a; padding: 15px; display: flex; flex-direction: column; height: 100%; min-height: 500px; &-content { display: flex; flex-direction: column; flex: 1; min-height: 0; } &-grid { display: grid; grid-template-columns: 3fr 1fr; gap: 10px; flex-grow: 1; padding-bottom: 15px; } &-title { border-bottom: 1px solid #e2e8f0; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 15px; display: flex; } &-image { width: 300px; height: 200px; img { width: 100%; height: 100%; object-fit: contain; } } &-right-side { display: flex; flex-direction: column; gap: 10px; } &-source { span { color: #64748b; margin-right: 5px; } a { color: #6366f1; } } &-date-status { display: flex; gap: 10px; .source-status { margin-bottom: 0; } } &-action { margin-top: auto; } &-actions { border-left: 1px solid #e2e8f0; padding-left: 15px; } &-header { display: grid; grid-template-columns: 300px auto; gap: 10px; flex-shrink: 0; padding-bottom: 20px; border-bottom: 1px solid rgb(226, 232, 240); } &-case-grid { display: grid; grid-template-rows: 1fr 1fr; gap: 5px; flex: 1; min-height: 0; overflow: auto; } &-case { padding: 10px; &:first-child { border-bottom: 1px solid rgb(226, 232, 240); padding-bottom: 10px; } } } .pagination { display: flex; justify-content: start; gap: 4px; margin-top: 20px; &-item { padding: 8px 12px; border-radius: 8px; text-decoration: none; font-weight: 600; background: white; color: #374151; border: 2px solid #e5e7eb; transition: all 0.2s ease; &:disabled { opacity: 0.6; } &:hover { border-color: #667eea; } &-active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: 2px solid #667eea; &:hover { border-color: #667eea; } } } } .violation-page-note { margin-top: auto; margin-bottom: 0; } .note-form { margin-top: 0; border: none; padding: 0; } .note-textarea { width: 100%; min-height: 80px; padding: 12px; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 14px; font-family: inherit; resize: vertical; box-sizing: border-box; background: #f8fafc; &:focus { outline: none; border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); } } } .popular-questions { background: linear-gradient(135deg, #6366f1, #8b5cf6); border-radius: 20px; padding: 30px; margin-bottom: 30px; color: white; h2 { font-size: 24px; margin-bottom: 20px; display: flex; align-items: center; } .popular-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; div { background: rgba(255, 255, 255, 0.1); border-radius: 15px; padding: 20px; h4 { margin-bottom: 10px; } p { font-size: 14px; opacity: 0.9; } } } } .faq-section { margin-bottom: 40px; h2 { font-size: 22px; font-weight: 600; margin-bottom: 20px; color: #1f2937; display: flex; align-items: center; span:first-child { width: 6px; height: 6px; background: #6366f1; border-radius: 50%; margin-right: 15px; } span:last-child { margin-left: 10px; font-size: 14px; color: #6b7280; font-weight: 400; } } .faq-item { background: white; border-radius: 15px; margin-bottom: 15px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; user-select: none; &:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12); } .faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 500; background: white; transition: background-color 0.3s; } } .faq-question { display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 15px 0; .dropdown-arrow { min-width: 20px; transition: transform 0.3s ease-in-out; &.expanded { transform: rotate(-180deg); } } span { font-weight: 500; } } .faq-toggle { font-size: 20px; color: #6366f1; } .faq-answer { color: #4b5563; line-height: 1.6; transition: all 0.3s ease-out; opacity: 1; &>div { border-top: 1px solid #e5e7eb; padding: 15px; } } } .support-block { background: linear-gradient(135deg, #f0f9ff, #e0f2fe); border-radius: 20px; padding: 30px; text-align: center; margin-top: 40px; h3 { color: #0369a1; margin-bottom: 15px; font-size: 20px; } p { color: #0c4a6e; margin-bottom: 25px; line-height: 1.6; } .support-buttons { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .support-schedule { margin-top: 25px; padding-top: 20px; border-top: 1px solid rgba(3, 105, 161, 0.2); h4 { color: #0369a1; margin-bottom: 10px; font-size: 16px; } &-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; font-size: 14px; color: #0c4a6e; } } } .stats-mini { &-wrapper { display: flex; justify-content: center; margin-top: 30px; } &-content { display: flex; gap: 40px; } &-value { font-size: 24px; font-weight: 700; } &-item { text-align: center; } } .local-file-check { margin-right: auto; position: relative; display: flex; align-items: center; @media (max-width: 850px) { flex-direction: column; align-items: start; } @media (max-width: 580px) { display: none; } .local-file-check-result { font-size: 14px; cursor: pointer; white-space: nowrap; } .btn-check-file { color: v.$p-color; cursor: pointer; background: v.$white; border: 2px solid v.$p-color; border-radius: 20px; align-items: center; gap: 6px; min-width: 110px; padding: 8px 12px; font-size: 12px; font-weight: 600; transition: all .3s; display: flex; box-shadow: 0 10px 40px v.$shadow-1; opacity: 0.8; margin-right: 10px; &:hover { box-shadow: 0 5px 5px v.$shadow-1; opacity: 1; } } .local-file-check-link { color: v.$p-color; font-weight: 600; margin-left: 5px; &:hover { text-decoration: underline; } } } .status-filter-select { width: 12.5rem; .dropdown-wrapper { .dropdown-button { font-size: 12px; } /* .dropdown-item { font-size: 10px; } */ } }