.backdrop { position: fixed; inset: 0; background-color: $backdrop-color; transition: opacity 300ms cubic-bezier(0.45, 1.005, 0, 1.005); &[data-starting-style], &[data-ending-style] { opacity: 0; } } .drawer { box-sizing: border-box; position: fixed; top: 0; left: 0; bottom: 0; width: 22rem; height: 100vh; height: 100dvh; display: flex; flex-direction: column; background-color: $gray-1250; color: $ui-white; border-right: 1px solid $gray-1100; box-shadow: $box-shadow-right; &[data-open] { transform: translateX(0%); transition: transform 300ms cubic-bezier(0.45, 1.005, 0, 1.005); } &[data-starting-style], &[data-ending-style] { transform: translateX(-100%); transition: transform 500ms cubic-bezier(0.45, 1.005, 0, 1.005); } // take the whole screen in mobile devices @media (max-width: $min-tablet) { width: 100vw; } } .header { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4rem; padding: 0.75rem 1rem 0.75rem 1.25rem; border-bottom: 1px solid $white-10; } .headerText { display: flex; flex-direction: column; min-width: 0; } .title { font-weight: 600; font-size: 1.25rem; line-height: 1.2; } .clientName { font-size: $aux-text-size; color: $gray-600; @include ellipsis-text; } .body { flex: 1; min-height: 0; overflow-y: auto; padding-block: 0.5rem 1rem; } .group { display: flex; flex-direction: column; &:not(:first-child) { margin-top: 0.75rem; } } .groupLabel { padding: 0.5rem 1.25rem 0.25rem; color: $gray-700; }