.page-title { font-size: 28px; font-weight: 600; margin-bottom: 30px; display: flex; align-items: center; color: #1f2937; .icon { margin-left: 5px; margin-top: 5px; color: #6366f1; } &::before { content: ''; width: 8px; height: 8px; background: #6366f1; border-radius: 50%; margin-right: 15px; } } .chart-title { font-size: 18px; font-weight: 600; display: flex; align-items: center; color: #1f2937; &::before { content: ''; width: 6px; height: 6px; background: #6366f1; border-radius: 50%; margin-right: 10px; } } .protection-overview { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 20px; padding: 25px; margin-bottom: 30px; position: relative; h3 { margin: 0 0 10px 0; font-size: 20px; } p { opacity: 0.9; font-size: 14px; margin-bottom: 20px; } .pie-char-text { fill: white; 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: 254px; } } .total-files { grid-area: aaa; } .total-checks { grid-area: bbb; } .total-usage { grid-area: ccc; } .protection-stat { padding: 15px; background: rgba(255, 255, 255, 0.1); border-radius: 12px; display: flex; flex-direction: column; justify-content: center; align-items: center; &-row { display: flex; align-items: center; justify-content: start; gap: 10px; width: 100%; } &-value { font-size: 28px; font-weight: 700; margin-bottom: 5px; } &-label { font-size: 14px; opacity: 0.9; } &-total-info { position: absolute; top: 10; left: 10; background-color: #1f293718; padding: 10px; border-radius: 10; font-size: 15px; } .stacked-bar-chart { border-radius: 10; width: 100%; padding: 0 20px; display: flex; justify-content: center; } } &-switch { position: absolute; right: 10px; top: 10px; } } .stats-wrapper { h3 { font-size: 20px; margin-bottom: 10px; } } .stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); --boder-collor: #f3f4f6; .stats-item.images { --card-color-1: #f08c00; } .stats-item.videos { --card-color-1: #2f9e44; } .stats-item.audio { --card-color-1: #1971c2; } .stats-item { border: 1px solid var(--boder-collor); border-right: none; border-left: none; border-bottom: none; display: flex; justify-content: center; align-items: center; height: 40px; background: #ffffff1a; &.stats-header { background: #f9fafb; border-left: none; font-size: 16px; font-weight: 500; } &.first-column { font-size: 16px; justify-content: start; padding-left: 20px; font-weight: 500; .icon { color: var(--card-color-1); margin-right: 10px; } } &.last-row { border-bottom: 1px solid var(--boder-collor); } &.left-top-corner { border-top-left-radius: 10px; border-left: 1px solid var(--boder-collor); 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; } } } .block-wrapper { background: white; border-radius: 20px; padding: 25px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 1px solid #f1f5f9; margin-bottom: 30px; } .recent-files-list { .file-item { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #f8fafc; transition: background-color 0.2s; &:hover { background: #f8fafc; margin: 0 -15px; padding-left: 15px; padding-right: 15px; border-radius: 10px; } } .file-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-right: 12px; font-size: 14px; } .file-info { flex: 1; } .file-name { font-weight: 500; color: #1e293b; font-size: 14px; margin-bottom: 2px; } .file-meta { font-size: 12px; color: #64748b; } } .user-info { .user-data { margin-bottom: 20px; } .user-field { margin-bottom: 15px; padding: 12px; background: #f9fafb; border-radius: 10px; font-size: 14px; border-left: 4px solid #6366f1; strong { color: #6366f1; } &-limit { &-title { font-size: 12px; color: #64748b; margin-bottom: 5px; } &-text { font-size: 13px; margin-bottom: 6px; span { font-weight: 600; color: #1e293b; } } &-progress-bar { background: #f1f5f9; border-radius: 10px; overflow: hidden; height: 6px; margin: 8px 0; } &-progress-fill { width: 12%; background: linear-gradient(90deg, rgb(99, 102, 241), rgb(139, 92, 246)); height: 100%; border-radius: 10px; transition: width 0.8s ease; } &-footer { font-size: 11px; color: #64748b; text-align: center; } } } .stats-mini { display: flex; justify-content: space-between; margin-top: 20px; } .stat-mini { text-align: center; &-value { font-size: 24px; font-weight: 700; color: #6366f1; } &-label { font-size: 12px; color: #6b7280; margin-top: 5px; } } } .protection-summary { background: linear-gradient(135deg, #e8f5e8, #c8e6c9); border: 2px solid #4caf50; border-radius: 15px; padding: 20px; margin-bottom: 25px; text-align: center; h3 { color: #2e7d32; margin-bottom: 15px; font-size: 18px; } .protection-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; margin-top: 15px; } .stat-card { background: rgba(255, 255, 255, 0.8); padding: 15px; border-radius: 10px; text-align: center; } .stat-number { font-size: 24px; font-weight: bold; color: #2e7d32; } .stat-label { font-size: 12px; color: #666; margin-top: 5px; } } .upload-section { background: white; border-radius: 20px; padding: 30px; margin-bottom: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); h3 { margin-bottom: 20px; color: #111827; font-size: 20px; } .drag-drop-zone { border: 3px dashed #6366f1; border-radius: 15px; padding: 40px 20px; text-align: center; background: linear-gradient(135deg, #f0f9ff, #e0f2fe); margin-bottom: 20px; transition: all 0.3s ease; .icon { width: 70px; height: 70px; margin: 0 auto; color: #6366f1; } h4 { color: #6366f1; margin-bottom: 5px; font-size: 22px; } .description { color: #6b7280; margin-bottom: 5px; text-align: start; } .btn-primary { background: linear-gradient(45deg, #6566f1, #5a5ce9); margin-bottom: 40px; } } .selected-file { border-radius: 15px; background: #fff; padding: 10px; &-file-info { text-align: left; } .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, #6566f1, #01579b); color: 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; } .btn-cancel { background: #fff; color: rgb(99, 102, 241); border: 2px solid rgb(99, 102, 241); 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 #6366f14d; } } } .test-section { background: linear-gradient(135deg, #fff3e0, #ffe0b2); border-radius: 20px; padding: 30px; margin-bottom: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); h3 { margin-bottom: 20px; color: #e65100; font-size: 20px; } .test-section-content { border: 2px dashed #ff9800; border-radius: 10px; padding: 20px; text-align: center; background: #fff8e1; h4 { font-size: 32px; margin-bottom: 10px; } .btn { background: linear-gradient(45deg, #ff9800, #f57c00); } p { margin-top: 15px; font-size: 12px; color: #e65100; } } } .protected-files-table { background: white; border-radius: 15px; overflow: hidden; margin-top: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); h3 { padding: 20px 20px 0; color: #111827; font-size: 18px; margin-bottom: 20px; } table { width: 100%; border-collapse: collapse; } th { background: linear-gradient(180deg, #6366f1, #8b5cf6); color: white; padding: 15px; text-align: left; font-weight: 600; font-size: 14px; } td { padding: 15px; border-bottom: 1px solid #f3f4f6; vertical-align: middle; } .files-table { &-file { display: flex; align-items: center; } &-icon { width: 40px; height: 40px; background: #f0f9ff; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-right: 12px; border: 2px solid #6366f1; color: #6366f1; } &-title { font-weight: 500; color: #111827; font-size: 14px; } &-protect { font-size: 11px; color: #6366f1; font-weight: 600; } &-size { color: #6b7280; font-size: 14px; } &-protect { display: flex; align-items: center; } &-bar { width: 30px; height: 6px; background: #e5e7eb; border-radius: 3px; margin-right: 8px; } &-fill { width: 100%; height: 100%; background: #6366f1; border-radius: 3px; } &-date { color: #6b7280; font-size: 13px; } } .btn-secondary { background: #6366f1; color: white; padding: 5px 16px 5px 10px; } .icon { height: 18px; } .real-protection-badge { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: bold; margin-left: 5px; } }