@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 { background: linear-gradient(135deg, v.$p-color 50%, v.$s-color 100%); color: v.$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: v.$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; &.total-checks, &.total-files { display: grid; grid-template-columns: 1fr 1.5fr; gap: 0 10px; .protection-stat-value { justify-self: end; padding-right: 10px; padding-left: 10px; } .protection-stat-label { text-align: start; } } &.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; &.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 { 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; } &-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; } } &:has(.stacked-bar-chart) { height: 100%; padding-left: 100px; } } &-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: #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 { margin-right: 10px; } &.images { color: v.$color-image; } &.videos { color: v.$color-video; } &.audio { color: v.$color-audio; } } &.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: 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: v.$p-color; } h4 { color: v.$p-color; margin-bottom: 5px; font-size: 22px; } .description { color: v.$text-s; margin-bottom: 5px; text-align: start; } .btn-primary { background: v.$p-color; margin-bottom: 40px; } } .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-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: 1px solid; border-radius: 0.375rem; &:hover { background-color: v.$bg-light; } &:disabled { opacity: 0.5; cursor: not-allowed; } } &-pages { display: flex; align-items: center; gap: 0.25rem; button { border: 1px solid v.$p-color; padding-left: 0.75rem; padding-right: 0.75rem; padding-top: 0.25rem; padding-bottom: 0.25rem; border-radius: 0.375rem; &.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.$b-color-1; th { padding-left: 1.5rem; padding-right: 1.5rem; 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: #e5e7eb; } } } } &-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; } } td { padding-left: 1.5rem; padding-right: 1.5rem; padding-top: 1rem; padding-bottom: 1rem; white-space: nowrap; } .actions { display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; button { padding: 4px 12px; font-size: 14px; line-height: 20px; border-radius: 4px; color: v.$white; .icon {} @media (max-width: 1200px) { padding: 4px; } } } } } } /* @media (max-width: 1300px) { .tanstak-table { max-width: 800px; margin: 0 auto; } } @media (max-width: 1200px) { .tanstak-table { max-width: 500px; margin: 0 auto; } } */