@import '../../../../styles/design-tokens'; // Выезжающая панель поверх страницы. position: fixed — панель должна перекрывать // всю страницу SharePoint, а не только канву web part. .overlay { position: fixed; inset: 0; z-index: 1000; display: flex; justify-content: flex-end; } .backdrop { position: absolute; inset: 0; background: rgba(10, 27, 48, .45); animation: fade .2s ease-out; } .drawer { position: relative; display: flex; flex-direction: column; width: min(920px, 100%); height: 100%; background: $gray-50; box-shadow: $sh-modal; animation: slide .22s ease-out; } .header { display: flex; align-items: center; justify-content: space-between; gap: $sp-4; flex-shrink: 0; padding: $sp-4 $sp-6; background: $white; border-bottom: 1px solid $gray-200; } .title { font-family: $font-serif; font-size: 18px; color: $navy-900; } .close { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid $gray-300; border-radius: $r-sm; background: $white; color: $navy-700; cursor: pointer; transition: .16s; &:hover { border-color: $red-500; color: $red-500; } } .body { flex: 1; overflow-y: auto; padding: $sp-6; } // Печать заявки идёт в отдельном окне (см. shared/ui/PrintButton), поэтому // print-обходов для панели тут не нужно. @keyframes slide { from { transform: translateX(24px); opacity: .6; } to { transform: translateX(0); opacity: 1; } } @keyframes fade { from { opacity: 0; } to { opacity: 1; } }