@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; .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; margin-bottom: 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; } } .selected-file { border-radius: 15px; background: v.$white; padding: 10px; border: 2px solid transparent; transition: all 0.3s ease-in; &.done { border-color: #00a63e; } &-file-info { text-align: left; display: flex; justify-content: space-between; } .uploaded-image { border-radius: 0.25rem; max-height: calc(4px * 40); margin-inline: auto; margin-bottom: 20px; border: 1px solid #d1d5db; } .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; } .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 25px v.$shadow-1; } } } .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: column; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: 1rem; padding-top: 0; padding-left: 0; padding-right: 0; @media (min-width: 768px) { flex-direction: row; align-items: center; } .table-filtres-wrapper { display: flex; flex-direction: column; gap: 1rem; width: 100%; @media (min-width: 768px) { flex-direction: row; 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; } } } .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 0; white-space: nowrap; &:first-child { padding-left: 15px; } &:last-child { padding-right: 15px; } } .table-item { color: v.$text-s; font-size: 14px; } .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; background-color: v.$b-color-2; } .actions { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; &-group { display: flex; gap: 5px; } button { 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 { display: flex; background-color: #3b72e0; align-items: center; &:hover { background-color: #2d56a8; } } .table-action-delete { display: flex; background-color: #e80a14; align-items: center; &:hover { background-color: #9f0712; } } } } } .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; .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; .referral-link-input { display: flex; gap: 15px; max-width: 700px; margin: 20px auto; #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; } .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; .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; .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; } } } } .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; .form-group { margin-bottom: 20px; label { display: block; margin-bottom: 8px; font-weight: 600; color: v.$text-s; } 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; } } .checkbox-group { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; } .btn-primary { color: white; padding: 12px 25px; border: none; border-radius: 10px; font-weight: 600; cursor: pointer; transition: all 0.3s; margin-top: 20px; } } } .dashboard-user-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-bottom: 40px; .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: 30px 24px; color: white; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); 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.25) 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; } .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-icon { position: absolute; bottom: 20px; right: 20px; font-size: 48px; opacity: 0.2; filter: blur(1px); } @media (max-width: 1360px) { grid-template-columns: repeat(3, 1fr); } @media (max-width: 860px) { grid-template-columns: repeat(2, 1fr); } } .dashboard-main-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 40px; width: 100%; max-width: calc(100vw - var(--side-bar-width) - 60px); .left-column { display: flex; flex-direction: column; gap: 30px; width: 100%; max-width: calc(100vw - var(--side-bar-width) - 40vw - 60px); } .right-column { width: 100%; display: flex; flex-direction: column; max-width: calc(100vw - var(--side-bar-width) - 40vw - 60px); } @media (max-width: 1360px) { grid-template-columns: 1fr; .left-column, .right-column { max-width: calc(100vw - var(--side-bar-width) - 60px); } } } .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; &.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; .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); } } .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; .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; /* display: none; */ } } .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; &-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; @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 { font-size: 36px; } .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); .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; .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; .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; .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; .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; } } } }