@import url('https://fonts.googleapis.com/css2?family=Segoe+UI:wght@400;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } a { text-decoration: none; } li { list-style: none; } :root { --poppins: 'Segoe UI', sans-serif; --lato: 'Segoe UI', sans-serif; --light: #F9F9F9; --blue: #3C91E6; --light-blue: #CFE8FF; --grey: #eee; --dark-grey: #AAAAAA; --dark: #342E37; --red: #DB504A; --yellow: #FFCE26; --light-yellow: #FFF2C6; --orange: #FD7238; --light-orange: #FFE0D3; } html { overflow-x: hidden; } body.dark { --light: #0C0C1E; --grey: #060714; --dark: #FBFBFB; } body { background: var(--grey); overflow-x: hidden; } #sidebar { position: fixed; top: 0; left: 20px; width: 250px; height: 100%; background: var(--grey); z-index: 2000; font-family: var(--lato); transition: width 0.3s ease, left 0.3s ease; overflow-x: hidden; scrollbar-width: none; } #sidebar::-webkit-scrollbar { display: none; } #sidebar.hide { width: 60px; } #sidebar .brand { font-size: 24px; font-weight: 700; height: 56px; display: flex; align-items: center; color: var(--black); position: sticky; top: 0; left: 0; background: var(--grey); z-index: 500; padding: 0 20px; box-sizing: border-box; } #sidebar .brand .fi { font-size: 24px; display: flex; align-items: center; justify-content: center; margin-right: 10px; margin-left: -20px; } #sidebar .side-menu { width: 100%; margin-top: 48px; } #sidebar .side-menu li { height: 48px; background: transparent; margin-left: 0; border-radius: 48px 0 0 48px; padding: 4px 10px; } #sidebar .side-menu li.active { background: var(--grey); position: relative; } #sidebar .side-menu li.active::before { content: ''; position: absolute; width: 40px; height: 40px; border-radius: 50%; top: -40px; right: 0; box-shadow: 20px 20px 0 var(--grey); z-index: -1; } #sidebar .side-menu li.active::after { content: ''; position: absolute; width: 40px; height: 40px; border-radius: 50%; bottom: -40px; right: 0; box-shadow: 20px -20px 0 var(--grey); z-index: -1; } #sidebar .side-menu li a { display: flex; align-items: center; height: 100%; border-radius: 48px; font-size: 16px; color: var(--dark); white-space: nowrap; overflow-x: hidden; padding: 0 20px; } #sidebar .side-menu li a .fi, #sidebar .side-menu li a .bx { font-size: 20px; min-width: 40px; display: flex; align-items: center; justify-content: center; margin-right: 10px; } #sidebar .side-menu.top li.active a { color: var(--blue); } #sidebar.hide .side-menu li a { width: calc(48px - (4px * 2)); transition: width 0.3s ease; justify-content: center; } #sidebar .side-menu.top li a:hover { color: var(--blue); } #sidebar.hide .text { display: none; } /* CONTENT */ #content { position: relative; width: calc(100% - 60px); left: 60px; transition: .3s ease; } #sidebar.hide ~ #content { width: calc(100% - 60px); left: 60px; } /* NAVBAR */ #content nav { height: 56px; background: var(--grey); padding: 0 24px; display: flex; align-items: center; grid-gap: 24px; font-family: var(--lato); position: sticky; top: 0; left: 0; z-index: 1000; } #content nav::before { content: ''; position: absolute; width: 40px; height: 40px; bottom: -40px; left: 0; border-radius: 50%; box-shadow: -20px -20px 0 var(--grey); } #content nav a { color: var(--dark); } #content nav .bx.bx-menu { cursor: pointer; color: var(--dark); } #content nav .nav-link { font-size: 16px; transition: .3s ease; } #content nav .nav-link:hover { color: var(--grey); } #content nav form { max-width: 400px; width: 100%; margin-right: auto; } #content nav form .form-input { display: flex; align-items: center; height: 36px; } #content nav form .form-input input { flex-grow: 1; padding: 0 16px; height: 100%; border: none; background: var(--light); border-radius: 36px 0 0 36px; outline: none; width: 100%; color: var(--dark); } #content nav form .form-input button { width: 36px; height: 100%; display: flex; justify-content: center; align-items: center; background: var(--light); color: var(--dark); font-size: 18px; border: none; outline: none; border-radius: 0 36px 36px 0; cursor: pointer; } #content nav .notification { font-size: 20px; position: relative; } #content nav .notification .num { position: absolute; top: -6px; right: -6px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--light); background: var(--red); color: var(--light); font-weight: 700; font-size: 12px; display: flex; justify-content: center; align-items: center; } #content nav .profile img { width: 36px; height: 36px; object-fit: cover; border-radius: 50%; } #content nav .switch-mode { display: block; min-width: 50px; height: 25px; border-radius: 25px; background: var(--grey); cursor: pointer; position: relative; } #content nav .switch-mode::before { content: ''; position: absolute; top: 2px; left: 2px; bottom: 2px; width: calc(25px - 4px); background: var(--blue); border-radius: 50%; transition: all .3s ease; } #content nav #switch-mode:checked + .switch-mode::before { left: calc(100% - (25px - 4px) - 2px); } /* NAVBAR */ /* MAIN */ #content main { width: 100%; padding: 36px 24px; font-family: var(--poppins); max-height: calc(100vh - 56px); overflow-y: auto; } #content main .head-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; } #content main .head-title .left { flex: 1; } #content main .head-title .right { display: flex; align-items: center; gap: 10px; } #content main .head-title .right .icon { display: flex; align-items: center; justify-content: center; } #content main .text { display: block; margin-top: 50px; font-size: 20px; font-weight: 500; color: var(--dark); } #content main .box-info { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); grid-gap: 24px; margin-top: 36px; } #content main .box-info li { padding: 24px; background: var(--light); border-radius: 20px; display: flex; align-items: center; grid-gap: 24px; } #content main .box-info li .bx { width: 80px; height: 80px; border-radius: 10px; font-size: 36px; display: flex; justify-content: center; align-items: center; } #content main .box-info li:nth-child(1) .bx { background: var(--light-blue); color: var(--blue); } #content main .box-info li:nth-child(2) .bx { background: var(--light-yellow); color: var(--yellow); } #content main .box-info li:nth-child(3) .bx { background: var(--light-orange); color: var(--orange); } #content main .box-info li .text h3 { font-size: 24px; font-weight: 600; color: var(--dark); } #content main .box-info li .text p { color: var(--dark); } #content main .table-data { display: flex; flex-wrap: wrap; grid-gap: 24px; margin-top: 24px; width: 100%; color: var(--dark); } #content main .table-data > div { border-radius: 20px; background: var(--light); padding: 24px; overflow-x: auto; } #content main .table-data .head { display: flex; align-items: center; grid-gap: 16px; margin-bottom: 24px; } #content main .table-data .head h3 { margin-right: auto; font-size: 24px; font-weight: 600; } #content main .table-data .head .bx { cursor: pointer; } #content main .table-data .order { flex-grow: 1; flex-basis: 500px; } #content main .table-data .order table { width: 100%; border-collapse: collapse; } #content main .table-data .order table th, #content main .table-data .order table td { font-family: var(--lato); font-size: 14px; color: var(--dark); padding: 8px; text-align: left; vertical-align: middle; } #content main .table-data .order table th { border-bottom: 1px solid var(--grey); } #content main .table-data .order table td:first-child { display: flex; align-items: center; gap: 12px; } #content main .table-data .order table td img { width: 30px; height: 30px; object-fit: contain; } #content main .table-data .order table td p { margin: 0; font-size: 14px; color: var(--dark); } #content main .table-data .order table tbody tr:hover { background: var(--grey); cursor: pointer; } #content main .table-data .order table th:first-child, #content main .table-data .order table td:first-child { text-align: center; width: 36px; } #content main .table-data .order table th svg { margin-left: 4px; vertical-align: middle; } @media screen and (max-width: 768px) { #content main .table-data .order table { font-size: 12px; } #content main .table-data .order table td img { width: 20px; height: 20px; } } #content main .table-data .todo { flex-grow: 1; flex-basis: 300px; } #content main .table-data .todo .todo-list { width: 100%; } #content main .table-data .todo .todo-list li { width: 100%; margin-bottom: 16px; background: var(--grey); border-radius: 10px; padding: 14px 20px; display: flex; justify-content: space-between; align-items: center; } #content main .table-data .todo .todo-list li .bx { cursor: pointer; } #content main .table-data .todo .todo-list li.completed { border-left: 10px solid var(--blue); } #content main .table-data .todo .todo-list li.not-completed { border-left: 10px solid var(--orange); } #content main .table-data .todo .todo-list li:last-child { margin-bottom: 0; } @media screen and (max-width: 768px) { #sidebar { width: 200px; } #content { width: calc(100% - 60px); left: 200px; } #content nav .nav-link { display: none; } } @media screen and (max-width: 576px) { #content nav form .form-input input { display: none; } #content nav form .form-input button { width: auto; height: auto; background: transparent; border-radius: none; color: var(--dark); } #content nav form.show .form-input input { display: block; width: 100%; } #content nav form.show .form-input button { width: 36px; height: 100%; border-radius: 0 36px 36px 0; color: var(--light); background: var(--red); } #content nav form.show ~ .notification, #content nav form.show ~ .profile { display: none; } #content main .box-info { grid-template-columns: 1fr; } #content main .table-data .head { min-width: 420px; } #content main .table-data .order table { min-width: 420px; } #content main .table-data .todo .todo-list { min-width: 420px; } } .btn-sort { display: flex; align-items: center; gap: 16px; justify-content: flex-end; margin-left: auto; padding-right: 10px; } .icon { display: flex; align-items: center; gap: 4px; font-size: 18px; color: #333; } .icon .text { font-size: 16px; color: #333; } .icon:hover { cursor: default; } .always-visible { display: inline-block !important; } #sidebar.hide ~ #content nav .always-visible { display: block; }